On Mon, 2008-01-14 at 08:03 -0800, Matthew Dharm wrote: > On Mon, Jan 14, 2008 at 10:46:56AM +0100, Hans de Goede wrote: > > Guillaume Bedot wrote: > > >But it fixes only two models. > > >Do you think other devices (hp or not) can be impacted ? > > >There are hundreds of models with card readers only for hp : > > >http://hplip.sourceforge.net/supported_devices/combined.html > > > > > >Will this be possible to use "LAST_SECTOR_BUG" quirk for testing without > > >recompiling a kernel ? > > > > > > > This is not possible AFAIK, I've already wrote a blog post about this > > asking for people to test this, but got no responses. > > Once the patches are accepted by the SCSI people, one of the things we can > consider doing is enabling this quirk for all USB devices. It should be > pretty harmless to all properly working devices, and the performance hit > should be pretty minimal. The SCSI patches look OK, with the stylistic points fixed below ... we'll need two separate patches as well (one for SCSI, one for USB). > We may be able to convince the SCSI people to enable it for all devices, > regardless of HCD. No ... I'm not particularly keen to have enterprise vendors after my blood ... > + /* Some devices (some sdcards for one) don't like it if the last sector > + gets read in a larger then 1 sector read */ The comment style in sd is /* * comment */ > + if (sdp->last_sector_bug && rq->nr_sectors > sdp->sector_size / 512 && An unlikely() here, please to force the compiler to optimise for the non-buggy case. Plus what is the rq->nr_sectors > sdp->sector_size / 512 test supposed to be doing? that being true is supposed to be a guarantee of the block layer (and if something goes wrong there's a check for this lower down). > + block + rq->nr_sectors == get_capacity(disk)) { rq->nr_sectors should be this_count > + this_count -= sdp->sector_size / 512; If you relocate this code to after the sector_size/this_count adjustment code (i.e. about line 442) you can just do --this_count; James - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html