Re: [PATCH] libata and starting/stopping ATAPI floppy devices

From: Ondrej Zary
Date: Thu Jan 10 2008 - 12:43:11 EST


On Thursday 10 January 2008 02:05:23 Robert Hancock wrote:
> Tejun Heo wrote:
> > From: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
> >
> > 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
>
> Well, all that error is saying is "No medium present". We could just
> make sd suppress that error on disk starting/stopping..

Yes, provided that the start/stop command is valid for ATAPI drives and is the
correct thing to do. I don't know.

>
> > Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
> > Signed-off-by: Tejun Heo <htejun@xxxxxxxxx>
> > ---
> > Trimmed message body and reformatted such that it's script friendly.
> >
> > drivers/ata/libata-scsi.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > --- linux-2.6.23-orig/drivers/ata/libata-scsi.c 2007-10-09
> > 22:31:38.000000000 +0200 +++
> > linux-2.6.23-pentium/drivers/ata/libata-scsi.c 2008-01-05
> > 15:50:16.000000000 +0100 @@ -802,7 +802,8 @@
> >
> > blk_queue_max_phys_segments(sdev->request_queue, LIBATA_MAX_PRD);
> >
> > - sdev->manage_start_stop = 1;
> > + if (dev->class == ATA_DEV_ATA)
> > + sdev->manage_start_stop = 1;
> >
> > if (dev)
> > ata_scsi_dev_config(sdev, dev);



--
Ondrej Zary
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/