Age | Commit message (Collapse) | Author |
|
or is waiting to be retried, abort it when a signal interrupts the tsleep().
This fixes what was commited in version 1.92 to work properly.
ok krw@
|
|
in hex. This makes it consistant with the display of the same value in
other messages.
|
|
|
|
SENSE BIG command even if no page data was returned. Just accept the
fact that the device does not have any such page data.
This is more in line with the spec, and unbreaks devices (like the
Neodio 8-in-1 USB Card Reader donated by Manuel Pata) which freak out
when getting a MODE SENSE BIG.
Should not break any 'working' device.
ok pedro@ dlg@ marco@ 'Looks correct.' miod@
|
|
|
|
|
|
|
|
least one spec. Unlike other ATAPI devices.
Fixes PR #4611.
|
|
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@
|
|
become ready. Make verbiage SC_DEBUG().
ok dlg@
|
|
for a raw partition like we suppress errors for the other operations on raw
partitions. Replace 'could not get size' with more specific and informative
SC_DEBUG() output. Silences a usb card reader that fgsch@ found. Now attach
message is only 'sdX: drive offline'.
Tested & ok fgsch@
|
|
Makes the logic simpler by eliminating the XS_BUSY dance in xs->error,
and will allow individual device types to delay different lengths on
certain conditions.
Allow SCSI_NOSLEEP commands to be retried without waiting. Who knows,
they may work even without a delay.
ok marco@
|
|
abort it when a signal interrupts the tsleep().
Suggested by deraadt@.
"I really like this" deraadt@ "I like this" marco@
|
|
going to retry the command, pause for a second to let the condition
clear. Just as we do for certain NOT READY conditions.
Found with the help of, and fixes Ed Wandasiewicz's IBM USB Memory
key.
ok deraadt@
|
|
|
|
|
|
headers; } to just union scsi_mode_sense_buf {}. No functional change.
ok marco@
|
|
or scsi_mode_sense_big(), use as much of it as is allowed. Don't justi
mask off the higher bits and possibly leave yourself with 0 space.
Fixes problem aoyama@ found on luna88k tape drive.
ok deraadt@.
|
|
Prevents garbage being used as ssblksize in sd_get_parms(). Perhaps
another nail in the coffin for PR4313.
|
|
command. Return it in a new parameter to scsi_size.
|
|
scsi_mode_direct_blk_desc -> scsi_direct_blk_desc
scsi_mode_blk_desc_big -> scsi_blk_desc_big
|
|
least) before 10 byte MODE SENSE. Some older devices can't/won't
distinguish between the two and return 6 byte MODE SENSE data for 10
byte requests.
Check that at least a full header was returned.
Tested by miod@ hshoexer@ and Ed Wandasiewisz on troublesome devices.
|
|
so eliminate code dealing with 16 byte block descriptors. No one else
seems to use them anyway. Add define for appropriate permission bit in
case we ever need it.
Simplify and clean up scsi_do_mode_sense() code as a result.
Strengthen check to ensure block descriptor data is a valid by
checking if it is a multiple of 8 bytes rather than just > 8 bytes.
Moves code to closer to what it was before scsi_do_mode_sense().
|
|
|
|
required number of bytes, rather than a full scsi_mode_sense_buf. Some
devices (e.g. my HP SureStore DAT/24) decline to accept such oversized
transfers. Instead, force callers to fill in the data_length field in
the header and use that information to set the size of the transfer.
|
|
general block descriptor and the 8 byte direct block descriptor, and
return the correct values for density, block_count and block_size
based on the type of the device. First cut has T_SEQUENTIAL (i.e.
tape devices) as the only device type using general block descriptors,
so the behaviour change is minimal.
|
|
Add 'big' parameter to report which mode sense header type is being
returned. Eliminate icky pointer arithmetic, since it won't work if
only block descriptors are returned by the device.
No functional change.
|
|
block descriptors. Not that we actually use this information anywhere.
|
|
|
|
|
|
|
|
|
|
|
|
scsi_mode_blk_desc_big. Will be needed to move st to new mode sense
function.
Be a bit more careful with types of parameters to scsi_do_mode_sense,
using u_int32_t instead of int.
No functional change.
|
|
both 10 byte and 6 byte MODE SENSE commands and just return error
checked values.
Convert sd_scsi.c to use new mechanism for non-optical drives. USB
umass devices will now display actual mode sense info if it is
available via a 10 byte MODE SENSE. Which may mean 0 heads, etc. is
shown until cosmetics are finalized.
ok marco@ 'that is pretty cool' deraadt@
|
|
was already done in the SUCCESSFULLY_QUEUED case. Shouldn't happen,
but better safe than sorry if some driver completes it's io
immediately.
Also don't recompute saved flags if the request is retried.
ok marco@
|
|
atapi_mode_[sense|select](). This will allow the removal of
atapi_base.c and atapi_all.h files, and sets the stage for better usb
mode sense handling amoung other things.
Remove cd_scsibus_[get|set]_mode() and
sd_scsibus_mode_sense() shims in favour of scsi_mode_[sense|select]().
Add zero'ing of reserved length field in scsi_mode_select(). Change
some uchar * type parameters to scsi_mode_header *.
No functional changes. Mostly from NetBSD.
ok dlg@.
|
|
|
|
ok krw@
|
|
Eliminate some duplicate structures and defines along the way. SCSI CD
drives will now pay attention to the 'flags' parameter for MODE SENSE
and MODE SELECT commands. No other functional change.
ok tdeval@
|
|
condition is going to clear up, which speeds up boot by avoiding
delays in disk matching. Return ENODEV if media is not present, which
avoids trying to spin up disks that are not present. Use ENODEV in
amd64/i386 dkcsum.c to filter failure reports.
Mostly from NetBSD.
ok marco@
|
|
report 0xffffffff and print a message. READ CAPACITY(16) is needed to
get the actual size in this case.
ok tdeval@ (a while ago) marco@
|
|
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@
|
|
NetBSD. Try to limit special handling of sense errors in sd and st to
a minimum.
ok marco@
|
|
EJUSTRETURN and ERESTART instead. Delete unused SCSIRET_RETRY define.
From NetBSD.
ok marco@
|
|
ok millert@ deraadt@.
|
|
chunk of code. It was never executed unless you were debugging a
mvmex8k 'vs' device.
ok miod@ (mvmex8k bits) marco@ deraadt@
|
|
SC_DEBUG() spacing tweaks.
ok deraadt@
|
|
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@.
|
|
double INQURY commands on LUNs that will be skipped anyway.
From Marco Peereboom.
ok deraadt@.
|