* disk/ata.c (grub_apapi_open): Initialize devfnd, no need to set
scsi->name and scsi->luns, as they will be set in grub_scsi_open.
* disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
error occurs, as grub_disk_open will call grub_disk_close, which will
call p->close (scsi).
+2008-09-22 Bean <bean123ch@gmail.com>
+
+ * disk/ata.c (grub_apapi_open): Initialize devfnd, no need to set
+ scsi->name and scsi->luns, as they will be set in grub_scsi_open.
+
+ * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
+ error occurs, as grub_disk_open will call grub_disk_close, which will
+ call p->close (scsi).
+
008-09-21 Felix Zielcke <fzielcke@z-51.de>
* configure.ac (AC_INIT): Quote `GRUB' string and version number.
grub_atapi_open (const char *name, struct grub_scsi *scsi)
{
struct grub_ata_device *dev;
- struct grub_ata_device *devfnd;
+ struct grub_ata_device *devfnd = 0;
for (dev = grub_ata_devices; dev; dev = dev->next)
{
return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "No such ATAPI device");
scsi->data = devfnd;
- scsi->name = grub_strdup (name);
- scsi->luns = 1;
return GRUB_ERR_NONE;
}
scsi->name = grub_strdup (name);
if (! scsi->name)
{
- p->close (scsi);
return grub_errno;
}
if (err)
{
grub_dprintf ("scsi", "inquiry failed\n");
- p->close (scsi);
return grub_errno;
}
if (scsi->devtype != grub_scsi_devtype_direct
&& scsi->devtype != grub_scsi_devtype_cdrom)
{
- p->close (scsi);
return grub_error (GRUB_ERR_UNKNOWN_DEVICE,
"unknown SCSI device");
}
if (err)
{
grub_dprintf ("scsi", "READ CAPACITY failed\n");
- p->close (scsi);
return grub_errno;
}