aboutsummaryrefslogtreecommitdiff
path: root/drivers/scsi
AgeCommit message (Collapse)AuthorFilesLines
2010-02-08[SCSI] lpfc 8.3.8: BugFixes: SLI relates changesJames Smart8-87/+170
Fix hardware/SLI relates issues: - Handle XB bit so that ELS XRIs are not prematurely released. - Handle XB bit so that FCP XRIs are not prematurely released. - Define new security SLI Commands. - Remove unused security SLI commands - Skip receive data size parameter check on received FLOGI. - Added LPFC_USE_FCPWQIDX flag to iocb to force SLI layer to submit abort WQE on same WQ as the command WQE. Signed-off-by: James Smart <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] qla1280: Drop host_lock while requesting firmwareBen Hutchings1-0/+4
request_firmware() may sleep and it appears to be safe to release the spinlock here. Signed-off-by: Ben Hutchings <[email protected]> Cc: [email protected] Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] be2iscsi: correction in the claculation for num_cxn_wrbJayamohan Kallickal1-7/+6
This patch correct the math done for num_cxn_wrb Signed-off-by: Jayamohan Kallickal <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] be2iscsi: changing the chip opcode for TEXTJayamohan Kallickal1-2/+1
This patch corrects the chipopcode for text and chooses correct paramters for that command Signed-off-by: Jayamohan Kallickal <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] be2iscsi: Ensure clean reuse of wrbJayamohan Kallickal1-6/+17
This patch ensures that wrb is cleanly resued for io path and is memset to zero for non io path Signed-off-by: Jayamohan Kallickal <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] be2iscsi: correcting the returnJayamohan Kallickal1-1/+1
This patch fixes an issue where return was not called properly. Thanks to Mike Christie for spotting this Signed-off-by: Jayamohan Kallickal <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] be2iscsi: Proper checking of stateJayamohan Kallickal1-1/+1
This patch adds proper checking of value in for hba state. We would be adding more states later on Signed-off-by: Jayamohan Kallickal <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] be2iscsi: Fix for first_burstJayamohan Kallickal1-2/+2
This patch fixes the first_burst being modified instead of max_burst Signed-off-by: Jayamohan Kallickal <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] be2iscsi: changing copyright to 2010Jayamohan Kallickal9-9/+9
This patch replaces 2009 with 2010 in copyright statement Signed-off-by: Jayamohan Kallickal <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] be2iscsi: Remove Ring mode from driverJayamohan Kallickal1-148/+33
Ring mode is not used. This patch removes the code. Signed-off-by: Mike Christie <[email protected]> Signed-off-by: Jayamohan Kallickal <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] vmw_pvscsi: fix signedness warning with newer compilersDmitry Torokhov1-1/+2
pvscsi_setup_msix() expects 'irq' argument to be an int but is being passed unsigned int. Unsigned int is more proper type for IRQ number so let's use it. This shuts off a compile warning with recent compilers. Signed-off-by: Dmitry Torokhov <[email protected]> Acked-by: Alok Kataria <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] sd: Combine DIF/DIX error handlingMartin K. Petersen1-12/+3
DIF and DIX errors are handled identically at this point. Collapse the switch cases into one and let scsi_io_completion print result and sense data. Signed-off-by: Martin K. Petersen <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] lpfc: unify two if branches with the same code in ↵Roel Kluin1-6/+1
lpfc_decode_firmware_rev() Regardless of the flag state, the branches execute the same code Signed-off-by: Roel Kluin <[email protected]> Acked-by: James Smart <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] be2iscsi: Fix to allow driver to load when the FW allows more cidsJayamohan Kallickal1-6/+6
This fix allows the driver to load when the FW allows more cids than than the driver supports. The driver will limit the number of cid to what it can support. There was no reason to fail the driver load,so, correcting that Signed-off-by: Jayamohan Kallickal <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] be2iscsi: Fixing the number of SGE'sJayamohan Kallickal1-2/+2
The number of SGE's supported is fixed to what the chip expects. Also, the max sectors set to tested values Signed-off-by: Jayamohan Kallickal <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] be2iscsi: Fixing Bug for multiple SGEsJayamohan Kallickal1-2/+3
The patch fixes a but where the sg_next is not assigned and hence the first sge was being resused wrongly Signed-off-by: Jayamohan Kallickal <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] mpt2sas: Bump version 04.100.01.00Kashyap, Desai1-3/+3
Version upgraded to 04.100.01.00. Signed-off-by: Kashyap Desai <[email protected]> Reviewed-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] mpt2sas: Enable TLR for SSP TAPE drives (Added SAS Transport APIs)Kashyap, Desai1-20/+35
If TLR is supported for end device, MPT2SAS driver will enable the TLR bit in the SCSI_IO for every request. If there is a response with MPI2_SCSITASKMGMT_RSP_INVALID_FRAME, the driver will turn off the TLR logic. [jejb: updated to new transport class TLR API] Signed-off-by: Kashyap Desai <[email protected]> Reviewed-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] mpt2sas: Update driver header to latest MPI Spec.Kashyap, Desai6-40/+201
Update header to latest MPI SPEC revision. Signed-off-by: Kashyap Desai <[email protected]> Reviewed-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] mpt2sas: Added phy_enable and set_phy_speed sysfs callback support.Kashyap, Desai3-17/+232
Added new callbacks phy_enable and set_phy_speed in the mpt2sas_transport_functions template. This will allow end user to enable/disable phys and change links rates using the SysFS interface. Current implementation only supports direct attached phys, but we could in the future add support for expander based phys. A new subroutine mpt2sas_config_set_sas_iounit_pg1 was added; this wrapper function used to send request to controller firmware to modify the phys and link rates. A new subroutine _transport_find_local_phy was added; a function for easly obtaining the local phy object for direct attached. Example to disable a phy echo 0 > /sys/class/phy3:0/enable Example to enable the same phy echo 1 > /sys/class/phy3:0/enable Example to change the link rate to 1.5 #echo "1.5 Gbit" > /sys/class/phy3:0/maximum_linkrate #cat /sys/class/phy3:0/negotiated_linkrate 1.5 Gbit Example to change the link rate to 3.0 #echo "3.0 Gbit" > /sys/class/phy3:0/maximum_linkrate #cat /sys/class/phy3:0/negotiated_linkrate 3.0 Gbit Example to change the link rate to 6.0 #echo "6.0 Gbit" > /sys/class/phy3:0/maximum_linkrate #cat /sys/class/phy3:0/negotiated_linkrate 6.0 Gbit Signed-off-by: Kashyap Desai <[email protected]> Reviewed-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] mpt2sas: Added raid transport supportKashyap, Desai3-4/+189
Adding support for raid transport layer. This will provide sysfs attributes containing raid level, state, and resync rate. MPT2SAS module will select RAID_ATTRS. Signed-off-by: Kashyap Desai <[email protected]> Reviewed-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] mpt2sas: Use compat_ptr to setup the pointer compatibility.Kashyap, Desai1-8/+4
On ppc64, an 32bit application was failing due to data buffers not being copied properly from user to kernel memory. The problem due to improper conversion of 32 to 64 bit pointers. The fix is to use compat_ptr to setup the pointer compatibility in the routine _ctl_compat_mpt_command. Signed-off-by: Kashyap Desai <[email protected]> Reviewed-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] mpt2sas: Set ioc->fwfault_debug to the cmd line option ↵Kashyap, Desai1-2/+3
mpt2sas_fwfault_debug. (1) change the formentioned string from logging_level to fwfault_debug (2) set ioc->fwfault_debug to the command line option mpt2sas_fwfault_debug setting at driver load time. Signed-off-by: Kashyap Desai <[email protected]> Reviewed-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] mpt2sas: User resource_size_t instead of unsigned longKashyap, Desai2-8/+9
Use resource_size_t to define the type resource for the system interface register set. The existing implementation was using "unsigned long" which would be 32 bit in 32 bit OS. If 32 bit OS is using 64 bit physical address space for the system interface register set, we need to shift to using resource_size_t which takes care of physical address space. Signed-off-by: Kashyap Desai <[email protected]> Reviewed-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] mpt2sas: Return -ENODATA on IOCTL timeoutKashyap, Desai1-0/+1
The driver was modified to return -ENODATA when there is a timeout via ioctl path. Signed-off-by: Kashyap Desai <[email protected]> Reviewed-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] mpt2sas: Delete volume before HBA detach.Kashyap, Desai1-0/+17
The driver hangs when doing `rmmod mpt2sas` if there are any IR volumes present.The hang is due the scsi midlayer trying to access the IR volumes after the driver releases controller resources. Perhaps when scsi_remove_host is called,the scsi mid layer is sending some request. This doesn't occur for bare drives becuase the driver is already reporting those drives deleted prior to calling mpt2sas_base_detach. To solve this issue, we need to delete the volumes as well. Signed-off-by: Kashyap Desai <[email protected]> Reviewed-by: Eric Moore <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] scsi_transport_sas: add support for transport layer retries (TLR)James Bottomley2-7/+98
The mpt2sas driver wants to use transport layer retries (TLR) so the simplest thing to do seems to be to add the enabling flags and checks to the SAS transport class, since they're a SAS specific protocol feature. Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] qla2xxx: Obtain proper host structure during response-queue processing.Anirban Chakraborty3-32/+6
Original code incorrectly assumed only status-type-0 IOCBs would be queued to the response-queue, and thus all entries would safely reference a VHA from the IOCB 'handle.' Cc: [email protected] Signed-off-by: Giridhar Malavali <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-02-08[SCSI] qla2xxx: make msix interrupt handler safe for irqXiaotian Feng1-6/+9
Yinghai has reported a lockdep warning on qla2xxx: [ 77.965784] WARNING: at kernel/lockdep.c:2332 trace_hardirqs_on_caller+0xc6/0x14b() [ 77.977492] Hardware name: Sun [ 77.979485] Modules linked in: [ 77.994337] Pid: 0, comm: swapper Not tainted 2.6.33-rc4-tip-yh-03949-g3a8e3f5-dirty #64 [ 78.000120] Call Trace: [ 78.013298] <IRQ> [<ffffffff81076b54>] warn_slowpath_common+0x7c/0x94 [ 78.017746] [<ffffffff81cd712c>] ? _raw_spin_unlock_irq+0x30/0x36 [ 78.035171] [<ffffffff81076b80>] warn_slowpath_null+0x14/0x16 [ 78.040152] [<ffffffff810a2ae8>] trace_hardirqs_on_caller+0xc6/0x14b [ 78.055400] [<ffffffff810a2b7a>] trace_hardirqs_on+0xd/0xf [ 78.058951] [<ffffffff81cd712c>] _raw_spin_unlock_irq+0x30/0x36 [ 78.074889] [<ffffffff816461ef>] qla24xx_msix_default+0x243/0x281 [ 78.091598] [<ffffffff810a5752>] ? __lock_release+0xa5/0xae [ 78.096799] [<ffffffff810c02ae>] handle_IRQ_event+0x53/0x113 [ 78.111568] [<ffffffff810c2061>] handle_edge_irq+0xf3/0x13b [ 78.116255] [<ffffffff81035109>] handle_irq+0x24/0x2f [ 78.132063] [<ffffffff81cdc4b4>] do_IRQ+0x5c/0xc3 [ 78.134684] [<ffffffff81cd7393>] ret_from_intr+0x0/0xf [ 78.137903] <EOI> [<ffffffff81039a56>] ? mwait_idle+0xaf/0xbb [ 78.155674] [<ffffffff81039a4d>] ? mwait_idle+0xa6/0xbb [ 78.158600] [<ffffffff81031c7c>] cpu_idle+0x61/0xa1 [ 78.174333] [<ffffffff81c85d7a>] rest_init+0x7e/0x80 [ 78.178122] [<ffffffff82832d1f>] start_kernel+0x316/0x31d [ 78.193623] [<ffffffff82832297>] x86_64_start_reservations+0xa7/0xab [ 78.198924] [<ffffffff8283237f>] x86_64_start_kernel+0xe4/0xeb [ 78.214540] ---[ end trace be4529f30a2e4ef5 ]--- This was happened when qla2xxx msix interrupt handler is trying to enable IRQs by spin_unlock_irq(). We should make interrupt handler safe for IRQs, use spin_lock_irqsave/spin_unlock_irqrestore, this will not break the IRQs status in interrupt handler. Reported-by: Yinghai Lu <[email protected]> Signed-off-by: Xiaotian Feng <[email protected]> Acked-by: Giridhar Malavali <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-01-18[SCSI] lpfc: restore MSI-X/MSI supportGeorge Kadianakis1-4/+4
A Gentoo bug report [1] showed that as of 2.6.31 lpfc only uses INTx interrupts. This patch restores lpfc's ability to support MSI-X/MSI interrupts that the "Addition of SLI4 Interface - Base Support" patch [2] broke. It reestablishes MSI-X as the default interrupt method and in case MSI-X is not supported lpfc_sli{4,}_enable_intr fallbacks to MSI and then to INTx. [1]: http://bugs.gentoo.org/show_bug.cgi?id=296319 [2]: commit da0436e915a5c17ee79e72c1bf978a4ebb1cbf4d [James Smart: Background: Nothing Broke. This was intended. We had originally enabled MSI-X by default, but in qualification within the last 12 months, we encountered a major catch-22: There were at least 4 platforms, from 2 major OEMs, that : - Say they support MSI-X - platform routines work and act as if they do. - We enable it, generate a test interrupt to check they really do deliver it, and it works. - But shortly after attachment, the system hangs or loses interrupts, resulting in a bad system behavior. Given the distro's picking up the 2.6.32 kernel, we had to stick with a default of MSI-X off, with user-enabled MSI-X as these platforms couldn't get fixed. However, we're also now encountering platforms that require MSI-X and never INTx, so we must change. It's desired also for also for performance reasons. So - now (2.6.33) is the right time to re-enable MSI-X by default. ] [jejb: fix up comment on default values] Signed-off-by: George Kadianakis <[email protected]> Acked-by: James Smart <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-01-18[SCSI] qla2xxx: Update version number to 8.03.02-k0.Giridhar Malavali1-2/+2
Signed-off-by: Giridhar Malavali <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-01-18[SCSI] qla2xxx: Remove firmware hint for 81xx parts.Giridhar Malavali1-1/+0
Firmware is loaded from flash for these ISP types. Signed-off-by: Giridhar Malavali <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-01-18[SCSI] qla2xxx: Add BSG support for FC ELS/CT passthrough and vendor commands.Giridhar Malavali9-4/+1326
[jejb: fixed printk casting issues] Signed-off-by: Sarang Radke <[email protected]> Signed-off-by: Giridhar Malavali <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-01-18[SCSI] qla2xxx: Enhance EEH support and enable AER support.Joe Carnuccio2-18/+27
qla2xxx: EEH added call to pci_restore_state. qla2xxx: EEH added delay in slot reset routine. qla2xxx: EEH moved call to pci_save_state(), see (1). qla2xxx: EEH additional changes for RHEL5.5. qla2xxx: EEH added function call, removed function call, see (2). (1) In qla2xxx_probe_one the call to pci_save_state() has been moved to after the call to qla2xxx_request_irqs(). (2) Add call to pci_disable_pcie_error_reporting() in remove_one. Delete call to pci_cleanup_aer_uncorrect_error_status() in pci_resume. Signed-off-by: Giridhar Malavali <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-01-18[SCSI] be2iscsi: Enable TEXT req respJayamohan Kallickal1-1/+1
This patch enables TEXT Request / Response for the driver Signed-off-by: Jayamohan Kallickal <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-01-18[SCSI] be2iscsi: Fixing initialization of can_queueJayamohan Kallickal1-1/+1
This patch fixes can_queue being uninitiallized since it was done before beiscsi_get_params was called. Thanks to Mike Christie for identifying this Signed-off-by: Jayamohan Kallickal <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-01-18[SCSI] be2iscsi: The session failure only when Link Goes downJayamohan Kallickal1-2/+2
This fixes a situation where the sessions were being killed whenever LinkUP is notified rather than LinkDown Signed-off-by: Jayamohan Kallickal <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-01-18[SCSI] be2iscsi: Enable async mode for mcc ringsJayamohan Kallickal8-96/+330
This patches enables async mode for mcc rings so that multiple requests can be queued. Signed-off-by: Jayamohan Kallickal <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-01-18[SCSI] be2iscsi: No requirement for endianess change for data_countJayamohan Kallickal1-1/+1
This patch removes the endianess change that was wrongly added for data_count Signed-off-by: Jayamohan Kallickal <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-01-18[SCSI] be2iscsi: decide which requests need completionJayamohan Kallickal1-0/+6
This patch decides whether ack based completion is required or not Signed-off-by: Jayamohan Kallickal <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-01-18[SCSI] be2iscsi: Use of opcode in beiscsi_alloc_pduJayamohan Kallickal1-1/+1
This patch enables use of opcode that is passed in Signed-off-by: Jayamohan Kallickal <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-01-18[SCSI] be2iscsi:moved pci_set_drvdata to inside beiscsi_hba_allocJayamohan Kallickal1-1/+1
This patch moves pci_set_drvdata to inside beiscsi_hba_alloc Signed-off-by: Jayamohan Kallickal <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-01-18[SCSI] be2iscsi: Added opcode for LOGOUT_RSP, TEXT_RESP, TMFUNC_RSPJayamohan Kallickal1-0/+6
This patch adds opcodes in thecompletion path that were missed out earlier Signed-off-by: Jayamohan Kallickal <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-01-18[SCSI] be2iscsi: Link Wrb with next WrbJayamohan Kallickal2-11/+11
This patch will link the current allocated wrb with the next wrb that will be allocated. This is a requirement from the chip. Signed-off-by: Jayamohan Kallickal <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-01-18[SCSI] be2iscsi: Move freeing of resources to stop_connJayamohan Kallickal3-34/+21
We need to hold on to ep resources untill invalidate and close connection are completed Signed-off-by: Jayamohan Kallickal <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-01-18[SCSI] be2iscsi: Use start cid and number of cid and icd from FWJayamohan Kallickal4-59/+75
This patch enablesi be2iscsi to use the start number and number of cids/icd provided by FW rather than hard coded values. Signed-off-by: Jayamohan Kallickal <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-01-18[SCSI] gdth: Convert to use regular kernel types.Dave Jones5-901/+893
converted using this script.. perl -p -i -e 's|ulong32|u32|g' drivers/scsi/gdth* perl -p -i -e 's|ulong64|u64|g' drivers/scsi/gdth* perl -p -i -e 's|ushort|u16|g' drivers/scsi/gdth* perl -p -i -e 's|unchar|u8|g' drivers/scsi/gdth* perl -p -i -e 's|ulong|unsigned long|g' drivers/scsi/gdth* perl -p -i -e 's|PACKED|__attribute__((packed))|g' drivers/scsi/gdth* sha1sum of the generated code was identical before and after. Signed-off-by: Dave Jones <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-01-18[SCSI] skip sense logging for some ATA PASS-THROUGH cdbsDouglas Gilbert1-2/+8
Further to the lsml thread titled: "does scsi_io_completion need to dump sense data for ata pass through (ck_cond = 1) ?" This is a patch to skip logging when the sense data is associated with a SENSE_KEY of "RECOVERED_ERROR" and the additional sense code is "ATA PASS-THROUGH INFORMATION AVAILABLE". This only occurs with the SAT ATA PASS-THROUGH commands when CK_COND=1 (in the cdb). It indicates that the sense data contains ATA registers. Smartmontools uses such commands on ATA disks connected via SAT. Periodic checks such as those done by smartd cause nuisance entries into logs that are: - neither errors nor warnings - pointless unless the cdb that caused them are also logged Signed-off-by: Douglas Gilbert <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-01-18[SCSI] FlashPoint: fix off by one testsDan Carpenter1-1/+1
The check on MAX_SCSI_TAR should be >= instead of > or we could go past the end of the array. Joe Eykholt aslo correctly points out that the check on MAX_LUN should be >= as well. That matches with how it is used in the rest of the file. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-01-18[SCSI] cxgbi3: remove unnecessary NULL testJiri Slaby1-4/+2
Stanse found that c3cn is poked many times around in cxgb3i_conn_pdu_ready, there is no need to check if it is NULL. Remove the test. Signed-off-by: Jiri Slaby <[email protected]> Reviewed-by: Mike Christie <[email protected]> Acked-by: Karen Xie <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: James Bottomley <[email protected]>