summaryrefslogtreecommitdiff
path: root/drivers/scsi
AgeCommit message (Collapse)AuthorFilesLines
2007-08-22Introduce CONFIG_CHECK_SIGNATUREGeert Uytterhoeven1-0/+6
Introduce CONFIG_CHECK_SIGNATURE to control inclusion of check_signature() and avoid problems on platforms that don't have readb(). Let the few legacy (ISA || PCI || X86) drivers that need check_signature() select CONFIG_CHECK_SIGNATURE. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Jeff Dike <jdike@addtoit.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Roman Zippel <zippel@linux-m68k.org> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-08-22m68k: Fix a few hickups in drivers/scsi/KconfigGeert Uytterhoeven1-2/+2
m68k: Fix a few hickups in drivers/scsi/Kconfig Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-08-06Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6Linus Torvalds38-2001/+2670
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (32 commits) [SCSI] aacraid: prevent panic on adapter resource failure [SCSI] aha152x: use data accessors and !use_sg cleanup [SCSI] aha152x: Fix check_condition code-path [SCSI] aha152x: Clean Reset path [SCSI] aha152x: preliminary fixes and some comments [SCSI] aha152x: use bounce buffer [SCSI] aha152x: fix debug mode symbol conflict [SCSI] sd: disentangle barriers in SCSI [SCSI] lpfc : scsi command accessor fix for 8.2.2 [SCSI] qlogicpti: Some cosmetic changes [SCSI] lpfc 8.2.2 : Change version number to 8.2.2 [SCSI] lpfc 8.2.2 : Style cleanups [SCSI] lpfc 8.2.2 : Miscellaneous Bug Fixes [SCSI] lpfc 8.2.2 : Miscellaneous management and logging mods [SCSI] lpfc 8.2.2 : Rework the lpfc_printf_log() macro [SCSI] lpfc 8.2.2 : Attribute and Parameter splits for vport and physical port [SCSI] lpfc 8.2.2 : Fix locking around HBA's port_list [SCSI] lpfc 8.2.2 : Error messages and debugfs updates [SCSI] initialize shost_data to zero [SCSI] mptsas: add SMP passthrough support via bsg ...
2007-08-04[SCSI] aacraid: prevent panic on adapter resource failureSalyzyn, Mark1-1/+3
If the driver fails to allocate the contiguous (DMAable) memory for system reasons, we fail to load the instance, but then we try to free the <nul> allocation in the cleanup code and we get a panic in pci_free_consistent(). This is reported against an older kernel, hope this is relevant for latest/greatest. Signed-off-by: Mark Salyzyn <aacraid@adaptec.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-08-04[SCSI] aha152x: use data accessors and !use_sg cleanupBoaz Harrosh1-44/+47
And finally this is the regular !use_sg cleanup and use of data accessors. Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-08-04[SCSI] aha152x: Fix check_condition code-pathBoaz Harrosh1-28/+27
check_condition code-path was similar but more complicated to Reset. It went like this: 1. extra space was allocated at aha152x_scdata for mirroring scsi_cmnd members. 2. At aha152x_internal_queue() every not check_condition (REQUEST_SENSE) command was copied to above members in case of error. 3. At busfree_run() in the DONE_CS phase if a Status of SAM_STAT_CHECK_CONDITION was detected. The command was re-queued Internally using aha152x_internal_queue(,,check_condition,) The old command members are over written with the REQUEST_SENSE info. 4. At busfree_run() in the DONE_CS phase again. If it is a check_condition command, info was restored from mirror made at first call to aha152x_internal_queue() (see 2) and the command is completed. What I did is: 1. Allocate less space in aha152x_scdata only for the 16-byte original command. (which is actually not needed by scsi-ml anymore at this stage. But this is to much knowledge of scsi-ml) 2. If Status == SAM_STAT_CHECK_CONDITION, then like before re-queue a REQUEST_SENSE command. But only now save original command members. (Less of them) 3. In aha152x_internal_queue(), just like for Reset, use the check_condition hint to set differently the working members. execute the command. 4. At busfree_run() in the DONE_CS phase again. restore needed members. While at it. This patch fixes a BUG. Old code when sending a REQUEST_SENSE for a failed command. Would than return with cmd->resid == 0 which was the status of the REQUEST_SENSE. The failing command resid was lost. And when would resid be interesting if not on a failing command? Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-08-04[SCSI] aha152x: Clean Reset pathBoaz Harrosh1-9/+9
What Reset code was doing: Save command's important/dangerous Info on stack. NULL those members from scsi_cmnd. Issue a Reset. wait for it to finish than restore members and return. What I do is save or NULL nothing. But use the "resetting" hint in aha152x_internal_queue() to NULL out working members and leave struct scsi_cmnd alone. The indent here looks funny but it will change/drop in last patch and it is clear this way what changed. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-08-04[SCSI] aha152x: preliminary fixes and some commentsBoaz Harrosh1-4/+4
hunk by hunk: - CHECK_CONDITION is what happens to cmnd->status >> 1 or after status_byte() macro. But here it is used directly on status which means 0x1 which is an undefined bit in the standard. And is a status that will never return from a target. - in busfree_run at the DONE_SC phase we have 3 distinct operation: 1-if(DONE_SC->SCp.phase & check_condition) The REQUEST_SENSE command return. - Restore original command - Than continue to operation 3. 2-if(DONE_SC->SCp.Status==SAM_STAT_CHECK_CONDITION) A regular command returned with a status. - Internally re-Q a REQUEST_SENSE. - Do not do operation 3. 3- - Complete the command and return it to scsi-ml So the 0x2 in both these operations (1,2) means the scsi check-condition status, hence SAM_STAT_CHECK_CONDITION - Here the code asks about !(DONE_SC->SCp.Status & not_issued) but "not_issued" is an enum belonging to the "phase" member and not to the Status returned from target. The reason this works is because not_issued==1 and Also CHECK_CONDITION==1 (remember from hunk 1). So actually the code was asking !(DONE_SC->SCp.Status & CHECK_CONDITION). Which means "Has the status been read from target yet?" Staus is read at status_run(). "not_issued" is cleared in seldo_run() which is usually earlier than status_run(). So this patch does nothing as far as assembly is concerned but it does let the reader understand what is going on. Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-08-04[SCSI] aha152x: use bounce bufferBoaz Harrosh1-0/+7
Cause highmem buffers to be bounced to low memory until this driver supports highmem addresses. Otherwise it just oopses on NULL buffer addresses. Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-08-04[SCSI] aha152x: fix debug mode symbol conflictBoaz Harrosh2-6/+6
The symbol <debug_locks> conflicts with the rather global one in include/linux/locks.h. Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-08-04[SCSI] sd: disentangle barriers in SCSIJames Bottomley2-20/+11
Our current implementation has a generic set of barrier functions that go through the SCSI driver model. Realistically, this is unnecessary, because the only device that can use barriers (sd) can set the flush functions up at probe or revalidate time. This patch pulls the barrier functions out of the mid layer and scsi driver model and relocates them directly in sd. Acked-by: Tejun Heo <htejun@gmail.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-08-03[SCSI] lpfc : scsi command accessor fix for 8.2.2James Smart1-1/+1
It was pointed out by Boaz Harrosh <bharrosh@panasas.com> that our 8.2.2 lpfc patches revert a change to using SCSI command accessor functions. This patch, to be applied on top of the 8.2.2. patches, updates the driver for the accessor functions. Signed-off-by: James Smart <James.Smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-08-02[SCSI] qlogicpti: Some cosmetic changesMark Fortescue1-21/+29
Change a printk sequencing issue where <6> ... was coming up in the middle of a line when scsi_add_host was being called. Reduce the length of some printk messages and make the messages more consistant. All cosmetic but it makes it easier to read as it scrolles off the screen during boot. Signed-off-by: Mark Fortescue <mark@mtfhpc.demon.co.uk> Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-08-01drivers/scsi/ide-scsi.c: kmalloc + memset conversion to kzallocMariusz Kozlowski1-6/+4
drivers/scsi/ide-scsi.c | 34642 -> 34536 (-106 bytes) drivers/scsi/ide-scsi.o | 171728 -> 171524 (-204 bytes) Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-08-01[SCSI] lpfc 8.2.2 : Change version number to 8.2.2James Smart1-1/+1
Signed-off-by: James Smart <James.Smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-08-01[SCSI] lpfc 8.2.2 : Style cleanupsJames Smart11-54/+23
- Clean up all instances of mixed tab-space indentation - Clean up sparse build errors - Add appropriate static's Signed-off-by: James Smart <James.Smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-08-01[SCSI] lpfc 8.2.2 : Miscellaneous Bug FixesJames Smart16-246/+342
- Fix vport ndlp ref counting errors - Fix use after free of ndlp structure - Use the correct flag to check for LOADING setting. - Fix driver unload bugs (related to shost references) after link down or rscn - Fix up HBQ initialization - Fix port_list locking around driver unload. - Fix references to hostdata as a phba - Fix GFFID type offset to work correctly with big endian structure. - Only call pci_disable_msi if the pci_enable_msi succeeded - Fix vport_delete wait/fail if in discovery - Put a reference on the nameservers ndlp when performing CT traffic. - Remove unbalanced hba unlock. - Fix up HBQ processing - Fix lpfc debugfs discovery trace output for ELS rsp cmpl - Send ADISC when rpi is 0 - Stop FDISC retrying forever - Unable to retrieve correct config parameter for vport - Fix sli_validate_fcp_iocb, sli_sum_iocb, sli_abort_iocb to be vport-aware. - Fix index-out-of-range error in iocb. Spotted by Coverity. Signed-off-by: James Smart <James.Smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-08-01[SCSI] lpfc 8.2.2 : Miscellaneous management and logging modsJames Smart7-23/+168
- Remove the "management_version" sysfs parameter (was unused) - Add HBQ information to lpfc debugfs - Change lpfc_npiv_enable name back to lpfc_enable_npiv (internal stds) - Remove "issue_lip" attribute from the vports transport template Signed-off-by: James Smart <James.Smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-08-01[SCSI] lpfc 8.2.2 : Rework the lpfc_printf_log() macroJames Smart13-1137/+852
Rework the lpfc_printf_log() macro so that logging is enabled on a per-vport basis. Used to be on a physical-port basis, thus logging with large numbers of vports became a mess. Required redefinition of the macro, and an update of every use. Signed-off-by: James Smart <James.Smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-08-01[SCSI] lpfc 8.2.2 : Attribute and Parameter splits for vport and physical portJames Smart10-149/+354
- Split attributes up into vport and non-vport attributes. - Move vport specific cfg params to vport Many of the vport-specific behaviors were still global attributes on the physical port. Move them to the vport itself. Signed-off-by: James Smart <James.Smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-08-01[SCSI] lpfc 8.2.2 : Fix locking around HBA's port_listJames Smart10-223/+308
Cleans up a lot of bad behaviors that have been in this area a while Signed-off-by: James Smart <James.Smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-08-01[SCSI] lpfc 8.2.2 : Error messages and debugfs updatesJames Smart9-58/+488
Error messages and debugfs updates: - Fix up GID_FT error messages - Enhance debugfs with slow_ring_trace, dumpslim and nodelist information - Add log type (and messages) for vport state changes - Enhance log messages when retries ELS fail Signed-off-by: James Smart <James.Smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-08-01[SCSI] initialize shost_data to zeroFUJITA Tomonori1-1/+1
It's better to initialize host->shost_data to zero like target->starget_data and device->sdev_data. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-07-31Remove the arm26 portAdrian Bunk3-176/+0
The arm26 port has been in a state where it was far from even compiling for quite some time. Ian Molton agreed with the removal. Signed-off-by: Adrian Bunk <bunk@stusta.de> Cc: Ian Molton <spyro@f2s.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-31[SCSI] ESP: Revert ESP_BUS_TIMEOUT back down to 250David Miller1-1/+1
This reverts d73f5222a618a91452d41c29f5996ce3d9c63673 The bug that made us increase ESP_BUS_TIMEOUT to 275 turned out to be a memset bug on 32-bit sparc. It is better to put this back at the correct timeout value than to leave it increased when there is no reason for doing so. Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-07-31[SCSI] dpt_i2o: convert to SCSI hotplug modelMatthew Wilcox2-68/+73
- Delete refereces to HOSTS_C - Switch to module_init/module_exit instead of detect/release - Don't pass around the host template and rename it to adpt_template - Switch from scsi_register/scsi_unregister to scsi_host_alloc, scsi_add_host, scsi_scan_host and scsi_host_put. Signed-off-by: Matthew Wilcox <matthew@wil.cx> Acked-by: "Salyzyn, Mark" <mark_salyzyn@adaptec.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-07-31[SCSI] qla2xxx: fix panic caused by previous patchSeokmann Ju1-0/+14
- this patch will fix a panic caused by omitted memory allocation for the nvram. Signed-off-by: Seokmann Ju <seokmann.ju@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-07-31[SCSI] aic7xxx: cap maxsync according to correct card limitsJames Bottomley1-1/+21
Not doing this can cause cards less than u160 capable to send out PPR offers to devices they can't then deliver on ... causing some devices to get a bit confused. Fix by capping the start syncrate at the appropriate level according to the card capabilities. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-07-31[SCSI] st: Use mutex instead of semaphoreMatthias Kaehlcke2-9/+10
The SCSI Tape driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com> Acked-by: Kai Makisara <kai.makisara@kolumbus.fi> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-07-31[SCSI] libsas: fix build dependencies on libataJames Bottomley1-1/+2
If you have the libsas with ATA support, it needs libata to function. The problem is that if you compile in libsas, you can't build libata as a module (however, vice versa you can). Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-07-31[SCSI] gdth: remove redundant PCI stuffJeff Garzik2-32/+22
This patch * removes struct members that duplicate pci_dev members * replaces ha->stype usage with ha->pdev->device usage where feasible Signed-off-by: Jeff Garzik <jeff@garzik.org> Acked-by: Christoph Hellwig <hch@lst.de> Acked-by: Achim Leubner <Achim_Leubner@adaptec.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-07-31[SCSI] ibmvscsi: use shost_privFUJITA Tomonori1-22/+11
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Acked-by: Brian King <brking@linux.vnet.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-07-31[SCSI] ibmvscsi: remove unnecessary map_sg checkFUJITA Tomonori1-6/+0
No need to check use_sg since sg_tablesize is set appropriately in the scsi host template. Brian King's patch (2a7309372fe56ae46c499b772d811ad31c501dd9) did this cleanup but the data buffer accessors patch (written before the patch and merged after it) restored the check. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Acked-by: Brian King <brking@linux.vnet.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-07-29Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6Linus Torvalds22-13799/+14757
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (28 commits) [SCSI] mpt fusion: Changes in mptctl.c for logging support [SCSI] mpt fusion: Changes in mptfc.c mptlan.c mptsas.c and mptspi.c for logging support [SCSI] mpt fusion: Changes in mptscsih.c for logging support [SCSI] mpt fusion: Changes in mptbase.c for logging support [SCSI] mpt fusion: logging support in Kconfig, Makefile, mptbase.h and addition of mptdebug.h [SCSI] libsas: Fix potential NULL dereference in sas_smp_get_phy_events() [SCSI] bsg: Fix build for CONFIG_BLOCK=n [SCSI] aacraid: fix Sunrise Lake reset handling [SCSI] aacraid: add SCSI SYNCHONIZE_CACHE range checking [SCSI] add easyRAID to the no report luns blacklist [SCSI] advansys: lindent and other large, uninteresting changes [SCSI] aic79xx, aic7xxx: Fix incorrect width setting [SCSI] qla2xxx: fix to honor ignored parameters in sysfs attributes [SCSI] aacraid: draw line in sand, sundry cleanup and version update [SCSI] iscsi_tcp: Turn off bounce buffers [SCSI] libiscsi: fix cmd seqeunce number checking [SCSI] iscsi_tcp, ib_iser Enable module refcounting for iscsi host template [SCSI] libiscsi: make sure session is not blocked when removing host [SCSI] libsas: Remove PCI dependencies [SCSI] simscsi: convert to use the data buffer accessors ...
2007-07-28[SCSI] libsas: Fix potential NULL dereference in sas_smp_get_phy_events()Jesper Juhl1-3/+10
In sas_smp_get_phy_events() we never test if the call to alloc_smp_req(RPEL_REQ_SIZE) succeeds or fails. That means we run the risk of dereferencing a NULL pointer if it does fail. Far better to test if we got NULL back and in that case return -ENOMEM just as we already do for the other memory allocation in that function. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-07-28[SCSI] aacraid: fix Sunrise Lake reset handlingSalyzyn, Mark1-1/+1
The patch is *much* smaller than the description. I am attempting to answer to those that want to understand an issue that was reported in May this year. If a Sunrise Lake based card that requires an alternate reset mechanism is set up to ignore the commanded IOP_RESET it reports 0x00000010 (IOP_RESET ignored) instead of 0x3803000F (use alternate reset mechanism to reset all cores), and thus the reset platform function decides to switch to IOP_RESET_ALWAYS because the reset platform function parameters indicate that we *need* to reset the card. IOP_RESET_ALWAYS then responds with the 0x3803000F return code, but alas we treat this as an error instead of using the alternate reset mechanism (put a 0x03 into the register offset 0x38). The reset fails, but the fact that the IOP_RESET_ALWAYS command was issued has put the card in a purposeful shutdown state in preparation for the alternate hardware reset to be applied. Yuck. IOP_RESET is ignored in internal production cards, typically to ensure that we catch all adapter lockup issues without the driver progressing further, so this would not appear to be a field issue and thus this patch was destined to be only in the internal Adaptec source tree. IOP_RESET_ALWAYS is reserved for kexec/kdump/FirmwareUpdate/AutomatedTestFrames so we did not function as expected in any case. Also in the past we have had OEMs specifically request that cards not be resetable after a BlinkLED/FirmwareAssert for one reason or another and To head off the possibility that the Sunrise Lake based cards would suffer a similar fate, we propose the enclosed fix. Yinghai Lu of SUN had a pre-production card with IOP_RESET disabled when he reported an issue to the linux kernel list back in May regarding a kexec problem resulting from this reset being ignore. His fix was to update the Firmware to one that did not ignore the IOP_RESET. Previous kernels did not attempt to reset the adapter and that is why it surfaced as a regression in his hands. The current list of aacraid based cards that use Sunrise Lake: 9005:0285:9005:02b5 Adaptec 5445 9005:0285:9005:02b6 Adaptec 5805 9005:0285:9005:02b7 Adaptec 5085 9005:0285:9005:02c3 Adaptec 51205 9005:0285:9005:02c4 Adaptec 51605 9005:0285:9005:02ce Adaptec 51245 9005:0285:9005:02cf Adaptec 51645 9005:0285:9005:02d0 Adaptec 52445 9005:0285:9005:02d1 Adaptec 5405 9005:0285:9005:02b8 ICP ICP5445SL 9005:0285:9005:02b9 ICP ICP5085SL 9005:0285:9005:02ba ICP ICP5805SL 9005:0285:9005:02c5 ICP ICP5125SL 9005:0285:9005:02c6 ICP ICP5165SL 9005:0285:108e:7aac SUN STK RAID REM 9005:0285:108e:0286 SUN STK RAID INT 9005:0285:108e:0287 SUN STK RAID EXT 9005:0285:108e:7aae SUN STK RAID EM All of these are publicly released with IOP_RESET enabled. So there is no immediate need for this patch. Signed-off-by: Mark Salyzyn <aacraid@adaptec.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-07-28[SCSI] aacraid: add SCSI SYNCHONIZE_CACHE range checkingSalyzyn, Mark1-8/+55
Customer running an application that issues SYNCHRONIZE_CACHE calls directly noticed the broad stroke of the current implementation in the aacraid driver resulting in multiple applications feeding I/O to the storage causing the issuing application to stall for long periods of time. By only waiting for the current WRITE commands, rather than all commands, to complete; and those that are in range of the SYNCHRONIZE_CACHE call that would associate more tightly with the issuing application before telling the Firmware to flush it's dirty cache, we managed to reduce the stalling. The Firmware itself still flushes all the dirty cache associated with the array ignoring the range, it just does so in a more timely manner. Signed-off-by: Mark Salyzyn <aacraid@adaptec.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-07-28[SCSI] add easyRAID to the no report luns blacklistakpm@linux-foundation.org1-0/+3
According to http://bugzilla.kernel.org/show_bug.cgi?id=5953, the easyRAID returns rubbish to REPORT LUNS. Cc: Natalie Protasevich <protasnb@gmail.com> Cc: Hans-Christian Armingeon <mog.johnny@gmx.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-07-27[SCSI] advansys: lindent and other large, uninteresting changesMatthew Wilcox1-13692/+14569
- Run Lindent - Move advansys_detect and advansys_release to the end of the file - Split advansys_board_found out of advansys_detect - Rename a few variables, such as shp to shost and pci_devp to pdev - Turn STATIC into static Signed-off-by: Matthew Wilcox <matthew@wil.cx> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-07-27[SCSI] aic79xx, aic7xxx: Fix incorrect width settingJames Bottomley2-13/+21
Wide transfers are required for every setting of PPR apart from QAS. It seems the DV code starts at the minimum, which turns on DT and Wide regardless of the setting of max_width. Redo the PPR and period setting routines to respect max_width (i.e. start at period = 10 if it is zero). This fixes bugzilla 8366 Acked-by: "Freels, James D." <freelsjd@ornl.gov> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-07-27[SCSI] qla2xxx: fix to honor ignored parameters in sysfs attributesSeokmann Ju3-24/+38
This is a patch to fix 'segmentation fault' issue which was initiated by Richard Lary <rlary@us.ibm.com>. Thanks again Richard. - on following sysfs attritute function, changes have made so that both count and offset input parameters are honored by the functions. = qla2x00_sysfs_read_nvram() = qla2x00_sysfs_read_vpd() - made changes so that NVRAM data to be cached to minimize H/W accesses during agent querying of the driver's. Signed-off-by: Seokmann Ju <seokmann.ju@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-07-27[SCSI] aacraid: draw line in sand, sundry cleanup and version updateSalyzyn, Mark5-10/+7
Minor unimportant cuttings from the floor bundled in with a version stamp update. Only controversial change is the dropping of Alan Cox copyright on the nark.c module since that file has no code written by him in it. Signed-off-by: Mark Salyzyn <aacraid@adaptec.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-07-27[SCSI] iscsi_tcp: Turn off bounce buffersMike Christie1-0/+1
It was found by LSI that on setups with large amounts of memory we were bouncing buffers when we did not need to. If the iscsi tcp code touches the data buffer (or a helper does), it will kmap the buffer. iscsi_tcp also does not interact with hardware, so it does not have any hw dma restrictions. This patch sets the bounce buffer settings for our device queue so buffers should not be bounced because of a driver limit. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-07-27[SCSI] libiscsi: fix cmd seqeunce number checkingMike Christie1-21/+25
We should not be checking the cmd windown for just handling r2t responses. And if the window closes in on us, always have scsi-ml requeue the command from our queuecommand function. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-07-27[SCSI] iscsi_tcp, ib_iser Enable module refcounting for iscsi host templateMike Christie1-0/+1
This prevents the iscsi modules from being unloaded while there are active mounts from an iscsi target. Signed-off-by: Olaf Kirch <olaf.kirch@oracle.com> Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-07-27[SCSI] libiscsi: make sure session is not blocked when removing hostMike Christie1-0/+1
When we logout we block the session since we are not taking any more commands, but when we call remove host we want to make sure any IO that got queued up and blocked gets failed upwards quickly, so we unblock the session and fail it. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-07-26[SCSI] libsas: Remove PCI dependenciesJeff Garzik4-21/+18
Eliminate unnecessary PCI dependencies in libsas. It should use generic DMA and struct device like other subsystems. Signed-off-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-07-24[SCSI] sym53c8xx: don't claim cpqarray deviceChip Coldwell1-1/+1
Apropos this thread http://marc.theaimsgroup.com/?l=linux-scsi&m=115591706804045&w=2 which led to this patch http://www.kernel.org/git/?p=linux/kernel/git/jejb/scsi-rc-fixes-2.6.git;a=commit;h=b2b3c121076961333977f485f0d54c22121df920 We also need to fix sym53c8xx only to bind to the PCI ID if it is of device class PCI_CLASS_STORAGE_SCSI (otherwise it will be the cpqarray RAID device). Signed-off-by: Chip Coldwell <coldwell@redhat.com> Cc: Matthew Wilcox <willy@debian.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-07-24aacraid: fix security holeAlan Cox1-0/+4
On the SCSI layer ioctl path there is no implicit permissions check for ioctls (and indeed other drivers implement unprivileged ioctls). aacraid however allows all sorts of very admin only things to be done so should check. Signed-off-by: Alan Cox <alan@redhat.com> Acked-by: Mark Salyzyn <mark_salyzyn@adaptec.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-24[SCSI] libsas: SMP request handler shouldn't crash when rphy is NULLDarrick J. Wong1-2/+3
sas_smp_handler crashes when smp utils are used with an aic94xx host because certain devices (the sas_host itself, specifically) lack rphy structures. No rphy means no SMP target support, but we shouldn't crash here. Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>