summaryrefslogtreecommitdiff
path: root/sys/scsi/scsiconf.c
AgeCommit message (Collapse)Author
2006-05-13And the fallout from Manuel Pata's USB reader rumbles on ...Kenneth R Westerback
Fix the display of the device info for umass devices at lun 0 by passing the correct inquiry data to config_attach. i.e. not the inquiry data for lun 1, which we gratuitously probe to prevent USB card readers from 'helpfully' lying about who is where, but the inquiry data for lun 0 we have saved in sc_link->inqdata.
2006-05-11Zap trailing whitespace.Kenneth R Westerback
2006-01-21Invoke disk_detach() and related cleanup work in detach(), rather thanMiod Vallat
zeroref() - just to be on the safe side, should we mess up our ref count.
2006-01-18Don't index before the start of the sc_link array if scsi_probe_bus()Kenneth R Westerback
is called with a target of -1 and a valid lun. Spotted by Miod. ok miod@
2005-11-13Use SCSI_DELAY only once. Document it. Default to no delay.Kenneth R Westerback
Fixes two second system 'freeze' when umass device plugged in. Speeds up boot by not waiting for a minimum of 2 seconds at each scsi bus. ok jmc@ pedro@ deraadt@
2005-10-10Make some panic messages more useful.Kenneth R Westerback
2005-06-03Cache a copy of the INQUIRY data obtained during device attachment inKenneth R Westerback
the scsi_link structure. This is a more general solution than the current inconsistant copying of fields into _softc structures. The redundant fields in _softc's will be cleaned up later. The device field will be used immediately to finish up the new mode sense code. ok marco@
2005-05-07Eliminate 'mode sense (n) returned nonsense' and 'could not mode senseKenneth R Westerback
(4/5)' messages in favour of a single SC_DEBUG() message about the mode sense error. Less useless verbiage. As this eliminates the only SDEV_NOMODESENSE use in scsi/*, eliminate all quirks table entries that used only SDEV_NOMODESENSE. Iomega Zip tested by miod@ to ensure this did not break something. Finally, only fake a geometry if scsi_size() can determine a disk size to fake from.
2005-04-28Some really braindead usb devices such as x-in-1 card reader/writersKenneth R Westerback
try to help equally braindead os's by presenting any inserted media as LUN 0 until another LUN is used in a command. Trick them by issuing a gratuitous/harmless INQUIRY to LUN 1 after issuing the LUN 0 INQUIRY but before any other command. Only umass scsi devices with >1 lun are affected. Fixes dlg's reader/writer for one. Lots of diagnosis and testing by dlg@, ok dlg@, ok marco@.
2005-04-27Add SDEV_UMASS flag, analogous to SDEV_ATAPI, and use it to force aKenneth R Westerback
full LUN scan on UMASS SCSI targets. UMASS provides reliable max lun information so we shouldn't waste time. Fixes many x-in-1 card reader/writers that report identical INQUIRY information for every slot they provide. Lots of diagnosis and testing by dlg@, ok dlg@, 'I can live with this' marco@.
2004-07-31Remove scsi_change_def() and related command structure. Its only useKenneth R Westerback
in the tree is #ifdef'd out and is fundamentally wrong anyway - it tries to force *all* devices to SCSI-2. Also recent SCSI specs seem to have marked the command as obsolete. Bonus - eliminates another undocumented option (SCSI_2_DEF). Found in a list of unused kernel functions posted to tech-kern@netbsd by Krister Walfridsson in 2002. ok marco@ tdeval@
2004-05-09Remove some #ifndef __OpenBSD__/#endif sections that were intended toKenneth R Westerback
make sync'ing with NetBSD easier. NetBSD has moved on, most of these sections have not. ok marco@ deraadt@ grange@ csapuntz@
2004-05-07Set value for rslt before trying to display it. 'Bad LUN ...' messsageKenneth R Westerback
will now display correct error value. Spotted in SCSIDEBUG output from Adrian Close's bizarre USB device. ok millert@ deraadt@ marco@.
2004-05-07Remove mvme88k workaround for ssh(4) bugs.Miod Vallat
2004-04-18Restore siop's (and possibly others) ability to negotiate tags/wide/sync byKenneth R Westerback
reverting to a single (short) INQUIRY command during probe. Compensate in siop by trying PPR on all targets on SCSI-3 buses and falling back to WDTR/SDTR if PPR rejected. Problem found by mickey@. Tested on a wide variety of devices by Marco. ok marco@ deraadt@.
2004-03-10Simplify new LUN scanning logic, add diagnostic messages for allKenneth R Westerback
instances of bad LUNs and add SCSIFORCELUN_BUSES and SCSIFORCELUN_TARGETS options. ok miod@ deraadt@. Tested in the Marco Peereboom torture chamber.
2004-02-21Eliminate the quirks SDEV_NOSTARTUNIT, UMASS_QUIRK_NO_START_STOP, andKenneth R Westerback
UMASS_QUIRK_FORCE_SHORT_INQUIRY. Fixes a bunch of USB devices. Based on work by Mycroft in NetBSD. ok tdeval@ deraadt@.
2004-02-07If scsi_probe_bus() is called with a particular lun, ensure that lun 0Kenneth R Westerback
information is available to make the new lun validation logic work. i.e. don't find phantom luns just because the user asks about them. Also ensure the lun value given does not exceed the maximum valid lun for a bus, rather than assuming the maximum valid lun is 7. ok tdeval@ deraadt@.
2004-01-30Backout until we have a better implementation...Thierry Deval
2004-01-29"And you definitely don't want to use p_priority. Use PRIBIO"Thierry Deval
From art@
2004-01-29Avoid an annoying freeze during attach of live "scsibus" devices.Thierry Deval
looks ok deraadt@, mickey@, krw@ and art@(but I hate it)
2004-01-25Allow restriction of SCSIDEBUG output to particular scsi buses inKenneth R Westerback
addition to device targets and luns. ok deraadt@.
2004-01-24ugly #ifdef to be deleted laterTheo de Raadt
must still do TUR on mvme68k & mvme88k ssh(4) driver ok miod krw
2004-01-23Don't probe impossible luns. If lun 0 is non-existant, or if the device showsKenneth R Westerback
it doesn't grok luns then stop probing. Speeds up the probe of an empty scsi bus by approx. 30 seconds. From Marco Peereboom. Tested by Marco Peereboom, millert@, miod@, Diana Eichart, and a host of anonymous snapshot users. ok deraadt@.
2004-01-17Use SC_DEBUG() to display debug messages. Makes SCSIDEBUG output better.Kenneth R Westerback
ok tdeval@.
2004-01-14Nuke SDEV_NOLUNS, SDEV_FORCELUNS, and PQUIRK_FORCELUNS quirks. AlsoKenneth R Westerback
moreluns field in scsi_link structure. Instead, treat an INQUIRY result that duplicates the INQUIRY result of LUN 0 as proof the LUN does not exist. Compensate for lack of SDEV_NOLUNS where necessary by setting sc_link->luns to 1, which has the same effect. From Marco Peereboom. Don't issue Test Unit Ready command before INQUIRY command - not necessary and potentially harmful to devices with ADEV_NOTUR quirk since quirks have not been set yet. From mycroft@NetBSD ok deraadt@, mvme* changes by miod@.
2004-01-07Some code cleanup and fixes inspired by NetBSD changes from mycroft@Kenneth R Westerback
and pointed out by Nate@. Fixes some <, , > displays for devices that were not filling the INQUIRY data in correctly. Silences INQUIRY commands that fail during probe. Treats SID_QUAL_LU_OFFLINE results the same as SID_QUAL_BAD_LU. Eliminate special treatment for DEC TK30 and DEC TK50 devices. ok tdeval@.
2003-10-27atlas does indeed support tagging and only the siop was brokenMichael Shalayeff
2003-09-30quantum atlas iv 9 wls lies about tagsMichael Shalayeff
2003-05-18constify the quirck tables and fix the scsi_inqmatch() proto accordingly; ↵Michael Shalayeff
krw@ ok
2003-05-17dale's camera has a usb quirk nowNathan Binkert
2003-05-16Provide most if not all the support required for the usb changes NateKenneth R Westerback
is trying to bring in. 1) Change name of SDEV_NOCDB6 to SDEV_ONLYBIG to align it with the same quirk in NetBSD, and make it more clear what it is trying to do. i.e. force the use of READ_BIG/WRITE_BIG commands, not suppress all use of 6 byte CDB's. 2) Check SDEV_ONLYBIG in cd.c as well as sd.c. i.e. both places where a choice is made to use the 6 or 10 byte versions of READ/WRITE. 3) Actually make use of the ADEV_NOTUR (No TEST UNIT READY) quirk to suppress the emission of TEST UNIT READY commands. 4) Add some explanatory comments from NetBSD to scsiconf.h so that the use of the quirks is made clear. ok miod@ tdeval@ nate@
2002-12-30Add new parameter to scsi_test_unit_ready(): retries number.Alexander Yurchenko
Use increased retries number and don't ignore SCSI_IGNORE_NOT_READY when call scsi_test_unit_ready() for cd-rom, this makes system wait if drive is loading media. Tested by millert@ and fgsch@; some input and ok from krw@. Problem reported by The lord of the CD-writers Igor Grabin <violent@death.kiev.ua>.
2002-09-04Write sentences.Thierry Deval
2002-09-04Add support for RBC (simplified direct) devices.Thierry Deval
ok costa@, krw@
2002-03-14First round of __P removal in sysTodd C. Miller
2002-03-09Be less parochial and remember that others may need to use quirks!Kenneth R Westerback
Just set the SDEV_NOTAGS, SDEV_NOWIDE, SDEV_NOSYNC bits in quirks. DON'T zero all other bits that may have already been set. Noted (and fix tested) by lebel@.
2002-02-28Start quirks off with NOWIDE, NOSYNC and NOTAGS and remove theKenneth R Westerback
restrictions as the results of the INQUIRY command and the quirks table indicate. This should (for drivers that pay attention) make for more successful communication with devices having quirks, by using the lowest common denominator until more information is available. Issue a second TEST_UNIT_READY command after the INQUIRY command has been processed to allow drivers waiting for valid quirks data to set sync/wide/tags asap. Rework a little bit of the logic to ensure that negotiation messages produced by the TEST_UNIT_READY command do not get mixed up with attachment messages. This has the side benefit of putting the negotiation messages before the device description, where they have usually been displayed in the past. If a driver is examining and using quirks data before the INQUIRY command is processed, and not renegotiating after the INQUIRY command, it may now end up with async 8 bit, non-tagged transfers. Before it would have ended up with possibly unusable transfer parameters when talking to a device with quirks. ok costa@
2002-02-16Disable tagged queueing for HP C3725S and IBM DCAS drives whereTodd C. Miller
is is broken.
2001-11-02In scsi_strvis(), collapse adjacent whitespace/NUL chars to a singleTodd C. Miller
space to get the most info with the least amount of wasted space. OK krw@, niklas@
2001-10-08Add a new quirk type, SDEV_NOCDB6, some USB devices like ATAPIDale Rahn
do not support 6 byte CDBs. This quirk is used for OLYMPUS USB cameras. Loosely based on code in FreeBSD. ok costa@
2001-08-26Don't restrict MICROP 4421-07 quirk to a specific firmware revisionTodd C. Miller
2001-08-25Change scsi_[free|get]_xs to use pool(9); art@ krw@ miod@ ok.Federico G. Schwindt
2001-08-18Make siop pay attention to quirks table. This not only eliminates theKenneth R Westerback
ugly INQUIRY snooping but avoids adding even uglier #ifdef's to turn off stuff, e.g. tagged queuing. Add two disk drives now known to lie about supporting tagged queuing to quirks table. One from millert@ (<MICROP, 4421-07 0329SJ, 0329>) and one from Hakan Olsson (<SEAGATE, ST150176LW, 0002>). Add field 'inquiry_flags2' to struct scsi_link to hold flags2 field from struct scsi_inquiry_data. These flags relate to SCSI-3 specific features. Clean up some logic, eliminating need for TARF_PPR flag.
2001-06-24cold is in systm nowMichael Shalayeff
2001-06-22KNFTheo de Raadt
2001-05-24Check malloc() return value, from tedu@heorot.stanford.eduAngelos D. Keromytis
2001-01-22ATAPI CD-ROMs BCD-16X and BCD-24X have troubles starting and stopping their ↵Constantine Sapuntzakis
disks
2000-11-23fix lun support, not as nice as i would likeTheo de Raadt
2000-11-20limit luns on usbTheo de Raadt