diff options
author | Al Viro <viro@parcelfarce.linux.theplanet.co.uk> | 2005-05-15 20:59:55 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.(none)> | 2005-05-26 09:41:15 -0400 |
commit | 631e8a1398ce4cfef8b30678d51daf0c64313a09 (patch) | |
tree | 14d3b601b4a7160568c58d53a94a0a4711094588 /drivers/ieee1394/sbp2.h | |
parent | 53222b906903fd861dc24ebccfa07ee125941313 (diff) |
[SCSI] TYPE_RBC cache fixes (sbp2.c affected)
a) TYPE_SDAD renamed to TYPE_RBC and taken to scsi.h
b) in sbp2.c remapping of TYPE_RPB to TYPE_DISK turned off
c) relevant places in midlayer and sd.c taught to accept TYPE_RBC
d) sd.c::sd_read_cache_type() looks into page 6 when dealing with
TYPE_RBC - these guys have writeback cache flag there and are not guaranteed
to have page 8 at all.
e) sd_read_cache_type() got an extra sanity check - it checks that
it got the page it asked for before using its contents. And screams if
mismatch had happened. Rationale: there are broken devices out there that
are "helpful" enough to go for "I don't have a page you've asked for, here,
have another one". For example, PL3507 had been caught doing just that...
f) sbp2 sets sdev->use_10_for_rw and sdev->use_10_for_ms instead
of bothering to remap READ6/WRITE6/MOD_SENSE, so most of the conversions
in there are gone now.
Incidentally, I wonder if USB storage devices that have no
mode page 8 are simply RBC ones. I haven't touched that, but it might
be interesting to check...
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/ieee1394/sbp2.h')
-rw-r--r-- | drivers/ieee1394/sbp2.h | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/ieee1394/sbp2.h b/drivers/ieee1394/sbp2.h index a84b039a05b9..cd425be74841 100644 --- a/drivers/ieee1394/sbp2.h +++ b/drivers/ieee1394/sbp2.h | |||
@@ -266,10 +266,6 @@ struct sbp2_status_block { | |||
266 | #define SBP2_MAX_UDS_PER_NODE 16 /* Maximum scsi devices per node */ | 266 | #define SBP2_MAX_UDS_PER_NODE 16 /* Maximum scsi devices per node */ |
267 | #define SBP2_MAX_SECTORS 255 /* Max sectors supported */ | 267 | #define SBP2_MAX_SECTORS 255 /* Max sectors supported */ |
268 | 268 | ||
269 | #ifndef TYPE_SDAD | ||
270 | #define TYPE_SDAD 0x0e /* simplified direct access device */ | ||
271 | #endif | ||
272 | |||
273 | /* | 269 | /* |
274 | * SCSI direction table... | 270 | * SCSI direction table... |
275 | * (now used as a back-up in case the direction passed down from above is "unknown") | 271 | * (now used as a back-up in case the direction passed down from above is "unknown") |