freebsd-nq/sys/dev/usb
Warner Losh 76ddd31f5a 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.
2007-02-27 22:33:50 +00:00
..
dsbr100io.h
ehci_pci.c o break newbus api: add a new argument of type driver_filter_t to 2007-02-23 12:19:07 +00:00
ehci.c Use a different task queue for host controller and peripheral driver 2006-10-19 01:15:58 +00:00
ehcireg.h
ehcivar.h More removing compatibility macros. 2006-09-07 00:06:42 +00:00
FILES Acknowledge (dearly) departed files 2006-11-21 22:29:06 +00:00
hid.c s/Static/static/g 2006-09-06 23:44:25 +00:00
hid.h
if_aue.c Add ALTQ support for aue(4). 2007-02-03 13:53:22 +00:00
if_auereg.h Remove my "custom" locks that allow for lock acquire abort, they are 2007-01-08 23:24:21 +00:00
if_axe.c Use a different task queue for host controller and peripheral driver 2006-10-19 01:15:58 +00:00
if_axereg.h Add a sleep lock that protects access to sequences of blocking 2006-06-04 14:42:38 +00:00
if_cdce.c Add support for Familiar Linux powered iPaq handhelds to cdce(4). 2006-10-07 17:35:37 +00:00
if_cdcereg.h
if_cue.c More removing compatibility macros. 2006-09-07 00:06:42 +00:00
if_cuereg.h
if_kue.c Add support for Psion Gold Port Ethernet USB NIC. 2006-10-07 18:03:39 +00:00
if_kuereg.h
if_rue.c More removing compatibility macros. 2006-09-07 00:06:42 +00:00
if_ruereg.h
if_udav.c Use a different task queue for host controller and peripheral driver 2006-10-19 01:15:58 +00:00
if_udavreg.h More removing compatibility macros. 2006-09-07 00:06:42 +00:00
if_ural.c add codes for Atheros USB devices; shuffle one ural code to 2006-11-23 00:50:48 +00:00
if_uralreg.h o fix initialization sequence. 2006-01-21 10:25:51 +00:00
if_uralvar.h More removing compatibility macros. 2006-09-07 00:06:42 +00:00
kue_fw.h s/Static/static/g 2006-09-06 23:44:25 +00:00
ohci_pci.c o break newbus api: add a new argument of type driver_filter_t to 2007-02-23 12:19:07 +00:00
ohci.c Use a different task queue for host controller and peripheral driver 2006-10-19 01:15:58 +00:00
ohcireg.h Use the limited scatter-gather capabilities of ehci, ohci and uhci 2006-05-28 05:27:09 +00:00
ohcivar.h More removing compatibility macros. 2006-09-07 00:06:42 +00:00
rio500_usb.h
sl811hs.c Use pause() rather than using tsleep() on a dummy variable. 2007-02-27 17:19:33 +00:00
sl811hsreg.h
sl811hsvar.h Use pause() rather than using tsleep() on a dummy variable. 2007-02-27 17:19:33 +00:00
slhci_pccard.c Catchup with filters 2007-02-23 19:34:52 +00:00
uark.c o Add uark(4), a driver for Arkmicro Technologies ARK3116 based serial 2006-11-15 09:13:25 +00:00
ubsa.c Add support for Huawei Technologies Mobile card (3G). 2007-02-09 15:59:28 +00:00
ubser.c More removing compatibility macros. 2006-09-07 00:06:42 +00:00
ubser.h
ucom.c More removing compatibility macros. 2006-09-07 00:06:42 +00:00
ucomvar.h More removing compatibility macros. 2006-09-07 00:06:42 +00:00
ucycom.c
udbp.c More removing compatibility macros. 2006-09-07 00:06:42 +00:00
udbp.h
ufm.c More removing compatibility macros. 2006-09-07 00:06:42 +00:00
ufoma.c More removing compatibility macros. 2006-09-07 00:06:42 +00:00
uftdi.c More removing compatibility macros. 2006-09-07 00:06:42 +00:00
uftdireg.h
ugen.c More antideclarification. 2006-09-06 23:29:53 +00:00
ugraphire_rdesc.h Add support for the Wacom Graphire 3 4x5. Like the Graphire 3, it has a 2005-12-31 04:38:50 +00:00
uhci_pci.c o break newbus api: add a new argument of type driver_filter_t to 2007-02-23 12:19:07 +00:00
uhci.c Use a different task queue for host controller and peripheral driver 2006-10-19 01:15:58 +00:00
uhcireg.h
uhcivar.h More removing compatibility macros. 2006-09-07 00:06:42 +00:00
uhid.c More removing compatibility macros. 2006-09-07 00:06:42 +00:00
uhub.c Fix build (sc->dev => sc->sc_dev). 2007-02-03 21:11:11 +00:00
uipaq.c It turns out we were mallocing too early, so move the allocation so we 2007-02-03 19:11:09 +00:00
ukbd.c Add a quirk for devices recognized as usb keyboards not to be hooked by 2006-11-28 21:13:07 +00:00
ulpt.c More removing compatibility macros. 2006-09-07 00:06:42 +00:00
umass.c Some USB mass storage devices return the number of sectors in response 2007-02-27 22:33:50 +00:00
umct.c More removing compatibility macros. 2006-09-07 00:06:42 +00:00
umodem.c More removing compatibility macros. 2006-09-07 00:06:42 +00:00
ums.c Fix a buffer overflow iff USB_DEBUG is set, hw.usb.ums.debug is > 5 and the 2007-01-17 03:50:45 +00:00
uplcom.c Back out revision 1.33. usb/98983 was misfiled and the patch had no effect. 2006-12-26 17:43:46 +00:00
urio.c More removing compatibility macros. 2006-09-07 00:06:42 +00:00
usb_ethersubr.c Add the following functions to abstract away the creation of task threads 2007-01-08 23:21:06 +00:00
usb_ethersubr.h Add the following functions to abstract away the creation of task threads 2007-01-08 23:21:06 +00:00
usb_if.m
usb_mem.c s/Static/static/g 2006-09-06 23:44:25 +00:00
usb_mem.h
usb_port.h More removing compatibility macros. 2006-09-07 00:06:42 +00:00
usb_quirks.c Add a quirk for devices recognized as usb keyboards not to be hooked by 2006-11-28 21:13:07 +00:00
usb_quirks.h Add a quirk for devices recognized as usb keyboards not to be hooked by 2006-11-28 21:13:07 +00:00
usb_subr.c Use pause() rather than tsleep() on stack variables and function pointers. 2007-02-27 17:23:29 +00:00
usb.c Use a different task queue for host controller and peripheral driver 2006-10-19 01:15:58 +00:00
usb.h s/Static/static/g 2006-09-06 23:44:25 +00:00
usbcdc.h
usbdevs Entries sorted by id number, not name 2007-02-27 22:27:53 +00:00
usbdi_util.c More removing compatibility macros. 2006-09-07 00:06:42 +00:00
usbdi_util.h protect against multiple inclusion (this is useful when you 2007-01-03 10:50:03 +00:00
usbdi.c Refine the previous change to only call bus_dmamap_sync() in case of 2006-11-27 18:39:02 +00:00
usbdi.h Use a different task queue for host controller and peripheral driver 2006-10-19 01:15:58 +00:00
usbdivar.h More removing compatibility macros. 2006-09-07 00:06:42 +00:00
usbhid.h
uscanner.c Add support for Epson Stylus CX4200 in uscanner(4). 2006-10-07 18:09:27 +00:00
uvisor.c Fix memory leak of devinfop 2007-02-03 16:41:55 +00:00
uvscom.c Use pause() rather than tsleep() on stack variables and function pointers. 2007-02-27 17:23:29 +00:00
uxb360gp_rdesc.h Add support for the Wacom Graphire 3 4x5. Like the Graphire 3, it has a 2005-12-31 04:38:50 +00:00