cvs commit: src/sys/dev/usb umass.c

From: Warner Losh <imp_at_FreeBSD.org>
Date: Tue, 27 Feb 2007 22:33:50 +0000 (UTC)
imp         2007-02-27 22:33:50 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/usb          umass.c 
  Log:
  Some USB mass storage devices return the number of sectors in response
  to a READ_CAPACITY request rather than the maximum sector (off by one
  problem).  This causes a huge cascade of errors as the geom tasting
  code tries to read the last sector (which isn't really there in the
  face of this error).  automated tools that manipulate disk labels and
  such also have issues.
  
  Create a new quirk READ_CAPACITY_OFFBY1 and add a quirk for the
  SanDISK ImageMate that I have that suffers from this problem (the
  SDDR-31).  It intercepts the READ_CAPACITY response and adjusts it
  from number of sectors to max sector for devices with this quirk.
  
  Reading the Linux source suggests that there are a host of
  other devices with this issue, including iPods and some popular
  cameras.  I've not added quirks for them, since I don't have the
  devices in front of me to test.
  
  Revision  Changes    Path
  1.142     +18 -0     src/sys/dev/usb/umass.c
Received on Tue Feb 27 2007 - 22:33:50 UTC