libata and starting/stopping ATAPI floppy devices
authorOndrej Zary <linux@rainbow-software.org>
Thu, 10 Jan 2008 22:13:19 +0000 (17:13 -0500)
committerJeff Garzik <jeff@garzik.org>
Thu, 10 Jan 2008 22:13:19 +0000 (17:13 -0500)
Prevent libata from starting/stopping non-ATA devices (like ATAPI floppy
drives) as they don't seem to like it:

sd 1:0:1:0: [sdb] Starting disk
ata2.01: configured for PIO2
sd 1:0:1:0: [sdb] Result: hostbyte=0x00 driverbyte=0x08
sd 1:0:1:0: [sdb] Sense Key : 0x2 [current]
sd 1:0:1:0: [sdb] ASC=0x3a ASCQ=0x0

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/libata-scsi.c

index a883bb03d4c7762dc21605974740c3ff4014ae49..264ae60e3fd8ae1a7e5ccb583545b1f6e6eac958 100644 (file)
@@ -872,7 +872,8 @@ int ata_scsi_slave_config(struct scsi_device *sdev)
 
        ata_scsi_sdev_config(sdev);
 
-       sdev->manage_start_stop = 1;
+       if (dev->class == ATA_DEV_ATA)
+               sdev->manage_start_stop = 1;
 
        if (dev)
                ata_scsi_dev_config(sdev, dev);