Age | Commit message (Collapse) | Author |
|
key case statement and let the common code after the case do the right
thing.
Return EINVAL for sense key SKEY_ILLEGAL_REQUEST whether SCSI_SILENT
is set or not.
ok tdeval@ nate@
|
|
1) Ensuring that both sd_scsi.c and sd_atapi.c report a device as
offline when its disksize cannot be determined.
2) Ensuring blksize is always non-zero, with a default value of 512.
3) Eliminating a couple of unneeded 'sectors' variables, which makes
the code easier for me to read if nothing else.
The bug was introduced when sd_atapi.c was changed to allow
'incomplete' implementations to be reported as online. REALLY
incomplete implementations (i.e. not even the disksize can be
determined) would be reported online with a blksize of zero.
Also fix a couple of knf nits in Mickey's last commit, and add another
check for an rpm of 0.
ok (pre-Mickey diffs) tdeval@ marc@ frantzen@
|
|
derived from pr2815 from Marco Peereboom
krw@ deraadt@ ok
|
|
sdattach() has the flag SCSI_IGNORE_MEDIA_CHANGE set. This was not
true for devices with the quirk SDEV_NOSTARTUNIT, such as some umass
devices.
This fixes the display of the disk parameters for any loaded media.
Previously the displayed parameters would show 0 size, 0 sectors and a
faked number of cylinders, etc. By ignoring the error generated by
devices trying to tell us the media may have changed since the last
command the SCSI command completes correctly and valid values are
obtained/displayed. We are interested in the current values and
unconcerned about any previous ones.
Tested by drahn@.
|
|
krw@ ok
|
|
|
|
|
|
|
|
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@
|
|
Fixes frantzen@'s pentax digital camera.
Suggested by Costa.
ok csapuntz@ frantzen@.
|
|
strncpy still present for manipulating d_packname/d_typename.
ok deraadt@.
|
|
string.
Ensure that all of d_packname is used by not null-terminating string
that is put in it.
Suggestions and motivation to remove strncpy() from deraadt@.
ok deraadt@ tedu@.
|
|
Almost identical to a previously submitted diff from tedu@.
ok tedu@ tdeval@
|
|
and should not be created or used as such.
This fixes some instances of both behaviours, and sets the stage for some
strcpy -> strncpy fixup.
ok tdeval@ millert@ deraadt@
|
|
|
|
currently valid values (0 - 0xff) to be used in mt(1). Add sanity
check to catch negative values.
Minor cleanup so mt_count values are stored in daddr_t variables and
not ints. Eliminate unnecessary cast of mt_op, since it is already a
shot. Leave possible move of mt_count to int32_t rather than daddr_t
to post-3.3.
Problem found, and original diff by Joseph Bender.
costa@ henning@ tdeval@ ok
|
|
ok deraadt@ tdeval@
|
|
(and right before the leadout track in the case of the last track). Some
CDROM's are evidentally picky about being asked to play the first frame
of the leadout.
|
|
|
|
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>.
|
|
1) Correctly define MODE_SENSE_BIG as 0x5a, not 0x54.
2) Delete duplicate #define's of some opcodes in scsi_disk.h.
3) Delete multiple #define's for same opcode in scsi_disk.h.
4) Replace uses of deleted opcodes in umass.c with remaining ones.
ok millert@ tdeval@
|
|
|
|
EOL set to post 3.3
|
|
|
|
ok costa@, krw@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
less confusing.
|
|
|
|
|
|
|
|
Should fix disklabel warnings on disks with no data track.
The old code was unnecessary complex too.
|
|
I know it's called the right way _now_, but that can change.
|
|
protect scsi_free_xs in scsi_scsi_cmd with splbio.
ok by deraadt@ and krw@
|
|
|
|
the ANSI way.
|
|
|
|
|
|
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@.
|
|
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@
|
|
is is broken.
|
|
cd.
ok art@
|
|
well (not at all) with shortages of the vm_map where the pages are mapped
(usually kmem_map).
Try to deal with it:
- group all information the backend allocator for a pool in a separate
struct. The pool will only have a pointer to that struct.
- change the pool_init API to reflect that.
- link all pools allocating from the same allocator on a linked list.
- Since an allocator is responsible to wait for physical memory it will
only fail (waitok) when it runs out of its backing vm_map, carefully
drain pools using the same allocator so that va space is freed.
(see comments in code for caveats and details).
- change pool_reclaim to return if it actually succeeded to free some
memory, use that information to make draining easier and more efficient.
- get rid of PR_URGENT, noone uses it.
|
|
|
|
|
|
reflect SCSI-3 editorial change from QUEUE FULL to TASK SET FULL.
Use same names as NetBSD where possible.
Some from NetBSD, some from Ashley M, some from SCSI-3 docs.
Now to edit drivers to use new constants instead of their own.
|