diff options
author | Markus Lidel <Markus.Lidel@shadowconnect.com> | 2005-06-24 01:02:19 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-24 03:05:28 -0400 |
commit | b2aaee33fbb354a2f08121aa1c1be55841102761 (patch) | |
tree | 7567ca61aaf5eed8bb1acd01cd87aa235b854fd4 /drivers/message/i2o/i2o_config.c | |
parent | f10378fff658f61307496e0ae00095041725cf07 (diff) |
[PATCH] I2O: Adaptec specific SG_IO access, firmware access through sysfs and 2400A workaround
Changes:
- Provide SG_IO access to BLOCK and EXECUTIVE class on Adaptec
controllers
- Use PRIVATE messages in SCSI-OSM because on some controllers normal
SCSI class commands like READ or READ CAPACITY cause errors
- Use new DMA and SG list creation function
- Added workaround to limit sectors per request for Adaptec 2400A
controllers
Signed-off-by: Markus Lidel <Markus.Lidel@shadowconnect.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/message/i2o/i2o_config.c')
-rw-r--r-- | drivers/message/i2o/i2o_config.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/message/i2o/i2o_config.c b/drivers/message/i2o/i2o_config.c index 849d90aad779..7636833b4623 100644 --- a/drivers/message/i2o/i2o_config.c +++ b/drivers/message/i2o/i2o_config.c | |||
@@ -515,6 +515,7 @@ static int i2o_cfg_evt_get(unsigned long arg, struct file *fp) | |||
515 | return 0; | 515 | return 0; |
516 | } | 516 | } |
517 | 517 | ||
518 | #ifdef CONFIG_I2O_EXT_ADAPTEC | ||
518 | #ifdef CONFIG_COMPAT | 519 | #ifdef CONFIG_COMPAT |
519 | static int i2o_cfg_passthru32(struct file *file, unsigned cmnd, unsigned long arg) | 520 | static int i2o_cfg_passthru32(struct file *file, unsigned cmnd, unsigned long arg) |
520 | { | 521 | { |
@@ -964,6 +965,7 @@ static int i2o_cfg_passthru(unsigned long arg) | |||
964 | kfree(reply); | 965 | kfree(reply); |
965 | return rcode; | 966 | return rcode; |
966 | } | 967 | } |
968 | #endif | ||
967 | 969 | ||
968 | /* | 970 | /* |
969 | * IOCTL Handler | 971 | * IOCTL Handler |
@@ -1018,9 +1020,11 @@ static int i2o_cfg_ioctl(struct inode *inode, struct file *fp, unsigned int cmd, | |||
1018 | ret = i2o_cfg_evt_get(arg, fp); | 1020 | ret = i2o_cfg_evt_get(arg, fp); |
1019 | break; | 1021 | break; |
1020 | 1022 | ||
1023 | #ifdef CONFIG_I2O_EXT_ADAPTEC | ||
1021 | case I2OPASSTHRU: | 1024 | case I2OPASSTHRU: |
1022 | ret = i2o_cfg_passthru(arg); | 1025 | ret = i2o_cfg_passthru(arg); |
1023 | break; | 1026 | break; |
1027 | #endif | ||
1024 | 1028 | ||
1025 | default: | 1029 | default: |
1026 | osm_debug("unknown ioctl called!\n"); | 1030 | osm_debug("unknown ioctl called!\n"); |