Commit Graph

106 Commits

Author SHA1 Message Date
christos
1cb1045a68 Fix uninitialized variable warnings. 2003-10-25 18:28:31 +00:00
augustss
1aa1d2f8e2 The umass attach can fail in many ways. Print a message about why it
failed instead of just being silent about it.
2003-09-29 20:04:25 +00:00
mycroft
09e452d82a Do the quirk initialization earlier. 2003-09-13 03:18:13 +00:00
mycroft
2b919cb36a Mostly stylistic change, making comments and printf()s similar between BBB
and CBI.
2003-09-10 06:38:28 +00:00
mycroft
78435d869d Copyright maintenance. 2003-09-10 05:42:18 +00:00
mycroft
2fe6c4d834 On a Bulk-In data stall, make sure we copy back the data received, per the
spec.  This is the real problem behind FORCE_SHORT_INQUIRY.
2003-09-10 05:20:21 +00:00
mycroft
b8fd3dab7d cc -pipe -ffreestanding -O2 -Werror -Wall -Wno-main -Wno-format-zero-length -Fix several problems with CCI handling, and enable it:
* We were never calling the callback function when we got a UFI CCI(!).
* We were passing a bogus residual count on non-UFI CCIs.
* After a REQUEST SENSE, the UFI CCI may include the ASC/ASCQ from the sense
  information -- don't consider this a failure.
In addition, remove a horrible hack that was causing us to drop sense
information on the floor and return empty INQUIRY responses, often in the case
where there is a UNIT ATTENTION pending during the INQUIRY.  (Some drives send
the data and then fail, some don't.)

This eliminates the need for quirks for the Y-E DATA FlashBuster.

These changes work on:

umass0: SAMSUNG SFD-321U [FW 0C], rev 1.10/2.10, addr 2
umass0: using UFI over CBI with CCI
sd0 at atapibus1 drive 0: <SMSC, USB FDC, 2.10> disk removable

umass0: TEAC TEAC FD-05PUB, rev 1.10/0.00, addr 2
umass0: using UFI over CBI with CCI
sd0 at atapibus0 drive 0: <TEAC, FD-05PUB, 1026> disk removable

umass0: Y-E DATA FlashBuster-U, rev 1.00/3.04, addr 2
umass0: using UFI over CBI with CCI
sd0 at atapibus0 drive 0: <Y-E DATA, USB-FDU, 3.04> disk removable
2003-09-10 02:49:18 +00:00
mycroft
a599f64320 If maxlun>0, automatically set PQUIRK_FORCELUNS, rather than using quirk
table entries.
2003-09-08 19:57:29 +00:00
mycroft
de88b69b7b Remove UMASS_QUIRK_NO_START_STOP and UMASS_QUIRK_NO_MAX_LUN. 2003-09-08 19:30:59 +00:00
mycroft
9bba9f60b6 Well, this is bloody obscure...
My Imation USB FlashGO! adapter responds to a Get Max Lun request with a
stall.  With uhci, this does the expected thing.  With ohci, it was returning
a "data underrun" error because we weren't setting "buffer rounding" (i.e.
USBD_SHORT_XFER_OK), and the underrun was taking priority.  This happened with
both the ohci in a Mac cube and the builtin ohci on the S3C2410.

So, set USBD_SHORT_XFER_OK on the Get Max Lun.  Now I get a stall reported and
umass attaches correctly.
2003-09-04 00:02:59 +00:00
dsainty
325b10be64 Use the correct bus name in "bus not configured" errors for SCSI and ATAPI 2003-04-26 12:46:59 +00:00
augustss
50e312d584 Add a reference count to avoid detaching while the attach is still
waiting.
2003-02-16 23:14:06 +00:00
wiz
45ad5c9584 successful with only one l. 2003-01-06 12:46:05 +00:00
toshii
086cbf5710 Assign NULL to sc_pipe after closing, so that usbd_close_pipe isn't
called twice.  At least in NetBSD, the detach function is called when the
device is removed, even if the attach function has failed.
This is probably the cause of panics reported in kern/19326.
2003-01-01 15:55:48 +00:00
tron
c4b584f5c4 Use "NULL" instead of "0" in pointer checks. 2002-12-18 14:12:33 +00:00
erh
6278998229 kern/12837: Provide a way to get working devices that violate the usb spec by
returning a non-matching CSW tag.
Defined a quirk for this and set it for Scanlogic SL11R, which gets my
NEO Jukebox working.
2002-12-06 03:57:51 +00:00
pooka
00f370741b we don't own Jason, even if we'd like to
(fix typo in comment, in case you're wondering ;)
2002-11-04 19:17:33 +00:00
provos
0f09ed48a5 remove trailing \n in panic(). approved perry. 2002-09-27 15:35:29 +00:00
augustss
86650920c9 Get rid of trailing white space. 2002-07-11 21:14:24 +00:00
augustss
b32942bb23 Whitespace fixes. 2002-03-17 18:02:52 +00:00
augustss
53a6c27b2e Add quirk for devices without Get Max Lun. 2002-02-07 13:52:54 +00:00
augustss
d8e5a1dc07 Dump enpoint number instead of endpoint index. 2001-12-31 15:54:27 +00:00
augustss
88da42185c Don't try to deactivate child if we have no bus yet. 2001-12-31 12:52:50 +00:00
augustss
f1397b7e37 Dump more of the command. 2001-12-31 12:15:46 +00:00
augustss
276b009425 Introduce a field, busquirks, in the umass quirk table that is passed
directly to the quirk field for the bus.
2001-12-29 13:46:23 +00:00
augustss
c33e730dd9 Get rid of the transfer_speed nonsense to calculate the timeout.
We get passed a timeout from the upper layer which is what matters.
2001-12-24 19:24:33 +00:00
augustss
ab7b323efa Add a preliminary version of a driver for In-System Designs non-standard
ATA-over-BulkOnly protocol.  The ISD chip can be found, e.g., in the
Archos MP3 player.
The driver still lacks real error handling.
2001-12-24 13:43:24 +00:00
augustss
56b5867371 Make the separation between wire protocol (umass.c) and command protocol
(umass_scsipi.c) more distinct.
It is now possible to add new command protocols with a minimum of change.
The umassbus.[ch] files have been renamed umass_scsipi.[ch] since this
reflects their purpose better.
2001-12-24 13:25:52 +00:00
gehenna
7cd101a6ca Introduce the new umass quirk table.
Discussed with augustss.
2001-12-17 12:16:14 +00:00
augustss
c70fc55cba Add a hack for ScanLogic SL11R IDE adapter. From FreeBSD. 2001-12-15 00:26:14 +00:00
gehenna
f144837e0e Stylistic changes 2001-12-14 08:58:49 +00:00
gehenna
2d27ad7c73 Define a new structure to store wire specific control methods.
The basic BBB/CBI functions are stored as members of constant structure.
When attached device, softc holds one of that constant structures.
2001-12-14 08:46:19 +00:00
gehenna
49bba69842 Use device handle and interface number which are stored in softc. 2001-12-14 06:21:56 +00:00
gehenna
53f34def69 Change style to store endpoint addresses and pipes. 2001-12-14 05:58:13 +00:00
augustss
22735e5d44 Move usbd_clear_endpoint_toggle() prototype to usbdi.h. 2001-12-12 15:23:58 +00:00
gehenna
968318a989 Use vendor/product variables 2001-12-12 14:24:53 +00:00
gehenna
0f983137af Don't change wire protocol state in umass generic function 2001-12-12 13:23:20 +00:00
gehenna
54e3c1962e bcopy -> memcpy 2001-12-12 13:17:03 +00:00
augustss
a6ba091eef Add a quirk for Olympus C-1. From FreeBSD (by iedowse) 2001-11-25 19:15:46 +00:00
augustss
596224e54f Pay attention to the timeout value passed down by the scsipi layer. 2001-11-25 19:05:22 +00:00
augustss
6d8419a6cc Handle Zip quirks differently.
Ugh!  This driver need major overhaul.
2001-11-23 01:15:28 +00:00
augustss
cec12bf775 Remove trailing `b' in some numbers for lengths. It just makes them look
like hex.
2001-11-13 08:01:40 +00:00
lukem
667807e40c add RCSIDs 2001-11-13 06:24:53 +00:00
augustss
e0ec4407e6 Better debug messages. 2001-10-25 22:43:24 +00:00
augustss
147c9186b5 Remove overly paranoid test (and not in the spec either). From OpenBSD. 2001-06-04 06:01:40 +00:00
enami
360780f37e s/\<PROTO_ATAPI/C&/ 2001-04-26 03:59:32 +00:00
augustss
af2e19db8f Remove stuff I didn't mean to commit yet. 2001-04-19 00:50:22 +00:00
augustss
72a04bd497 Add HP 3400. 2001-04-19 00:47:49 +00:00
augustss
264c404593 Clean up formatting a little.
Split protocol variable into wire and command protocols.
2001-04-17 00:50:13 +00:00
augustss
b5c707b2b6 Make it link with debug flag. 2001-04-13 12:51:43 +00:00