SCSI -rc fixes for 2.6.10-rc3
PATCH 1/1 SCSI -rc fixes for 2.6.10-rc3
This one is another set of small driver fixes
It is available from:
bk://linux-scsi.bkbits.net/scsi-for-linus-2.6
The short changelog is:
Andreas Herrmann:
o zfcp: act enhancements corrections
Castor Fu:
o support for 3PAR sparse SCSI LUNs
Douglas Gilbert:
o extracting resid from struct scsi_cmnd
Eric Moore:
o mptfusion: kill fusion init called
o mptfusion: resid cleanup
o mptfusion: replace chip_type
o mptfusion: streamline queuecommand
o mptfusion: streamline slave_alloc
o mptfusion: delete MPTSCSIH_DBG_TIMEOUT
James Bottomley:
o aic7xxx: fix compiler warning from dma mask assignement
o mptfusion: command line parameters
Mark Haverkamp:
o 2.6.9 aacraid: Support ROMB RAID/SCSI mode - Resend -
Matthew Wilcox:
o Blacklist devices that falsely claim an echo buffer
o SCSI: spi_transport set_signalling is buggy
Mike Miller:
o cciss: cciss_ioctl return code fix
And the diffstat is:
block/cciss.c | 2 message/fusion/mptbase.c | 83 +---- message/fusion/mptbase.h | 36 -- message/fusion/mptctl.c | 8 message/fusion/mptscsih.c | 633 ++++++++++------------------------------- message/fusion/mptscsih.h | 11 s390/scsi/zfcp_def.h | 4 s390/scsi/zfcp_erp.c | 38 +- s390/scsi/zfcp_ext.h | 4 s390/scsi/zfcp_fsf.c | 53 --- s390/scsi/zfcp_scsi.c | 3 scsi/Kconfig | 2 scsi/aacraid/aachba.c | 46 ++ scsi/aacraid/aacraid.h | 3 scsi/aic7xxx/aic79xx_osm.h | 2 scsi/aic7xxx/aic79xx_osm_pci.c | 14 scsi/aic7xxx/aic7xxx_osm.h | 2 scsi/aic7xxx/aic7xxx_osm_pci.c | 7 scsi/scsi_devinfo.c | 1 scsi/scsi_lib.c | 2 scsi/scsi_transport_spi.c | 9 21 files changed, 292 insertions(+), 671 deletions(-)
James
Quoted 3 lines · James Bottomley
This one is another set of small driver fixes
It is available from:
Here is one more. Currently imm uses page_address() which can crash on highmem. It's not directly doable to map the pages properly, at least not without changing some code. In lack of a ->bounce_highio member in the scsi host template, just set ->unchecked_isa_dma which will just bounce everything for us. imm isn't performance critical by any stretch of the imagination, so...
Usually I'd not encourage such a silly hack, but in lack of hardware for testing (who has it??), this should suffice as it is obviously correct.
===== drivers/scsi/imm.c 1.39 vs edited =====
drivers/scsi/imm.c +4 -0
@@ -1140,6 +1140,10 @@ .use_clustering = ENABLE_CLUSTERING, .can_queue = 1, .slave_alloc = imm_adjust_queue, + .unchecked_isa_dma = 1, /* imm cannot deal with highmem, so +* this is an easy trick to ensure +* all io pages for this host reside +* in low memory */ };/***************************************************************************
Signature · 1 line
Jens Axboe
Quoted 14 lines · Jens Axboe
Quoted 3 lines · James Bottomley
This one is another set of small driver fixes
It is available from:
Here is one more. Currently imm uses
page_address()which can crash on highmem. It's not directly doable to map the pages properly, at least not without changing some code. In lack of a ->bounce_highio member in the scsi host template, just set ->unchecked_isa_dma which will just bounce everything for us. imm isn't performance critical by any stretch of the imagination, so...
Quoted 2 lines
Usually I'd not encourage such a silly hack, but in lack of hardware for testing (who has it??), this should suffice as it is obviously correct.
I have a drive, but I'm not near a highmem machine atm. I can test it next week if no one else does so.
Signature · 1 line
~Randy
Quoted 2 lines · Randy.Dunlap
I have a drive, but I'm not near a highmem machine atm. I can test it next week if no one else does so.
So would you be amenable to fixing it properly? It looks like what needs to happen is that it needs to accept its commands into the scsi_pointer with page and offset (scsi_pointer doesn't have these fields, but you could probably cast in ptr and dma_handle). Then do a kmap/kunmap around imm_in() and imm_out() when it's operating on SCp.ptr.
James
Quoted 10 lines · James Bottomley
Quoted 2 lines · Randy.Dunlap
I have a drive, but I'm not near a highmem machine atm. I can test it next week if no one else does so.
So would you be amenable to fixing it properly? It looks like what needs to happen is that it needs to accept its commands into the
scsi_pointerwith page and offset (scsi_pointerdoesn't have these fields, but you could probably cast in ptr anddma_handle). Then do a kmap/kunmap aroundimm_in()andimm_out()when it's operating on SCp.ptr.
Yep, that would be the optimal. But still, given the hardware, I feel the hacky workaround would be acceptable. If Randy wants to fix it properly being able to test it, perfect.
Signature · 1 line
Jens Axboe
Quoted 3 lines · Jens Axboe
Yep, that would be the optimal. But still, given the hardware, I feel the hacky workaround would be acceptable. If Randy wants to fix it properly being able to test it, perfect.
Actually, I already put your patch in the scsi-rc-fixes-2.6 tree since it was obviously correct. I was just being hopeful ...
James