- 24 9月, 2012 40 次提交
-
-
由 Manish Dusane 提交于
Issue: For ISP83XX risc_intr getting clear two times in case of polling mode. risc_intr getting clear from interrupt_service_routine() as well from process_mbox_intr() because of this driver may clear risc_intr without processing interrupt. Fix: Do not clear risc_intr from process_mbox_intr(). Signed-off-by: NManish Dusane <manish.dusane@qlogic.com> Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Nilesh Javali 提交于
Handle IDC Request Notify AEN and post IDC Acknowledgement while participating in Loopback IDC. Signed-off-by: NNilesh Javali <nilesh.javali@qlogic.com> Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Vikas Chaudhary 提交于
Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Vikas Chaudhary 提交于
Issue: System panic on rmmod if probe_adapter had failed during driver load. Call Trace: [<ffffffffa071aa5a>] qla4xxx_abort_active_cmds+0x4a/0xa0 [qla4xxx] [<ffffffffa07224db>] qla4xxx_free_adapter+0x1b/0x1b0 [qla4xxx] [<ffffffffa073991f>] qla4xxx_remove_adapter+0x294/0x2c7 [qla4xxx] [<ffffffff812930b7>] pci_device_remove+0x37/0x70 [<ffffffff8135006f>] __device_release_driver+0x6f/0xe0 [<ffffffff813501a8>] driver_detach+0xc8/0xd0 [<ffffffff8134ef0e>] bus_remove_driver+0x8e/0x110 [<ffffffff81350972>] driver_unregister+0x62/0xa0 [<ffffffff812933c4>] pci_unregister_driver+0x44/0xb0 [<ffffffffa0739659>] qla4xxx_module_exit+0x15/0x47 [qla4xxx] [<ffffffff810addd4>] sys_delete_module+0x194/0x260 [<ffffffff8150326e>] ? do_page_fault+0x3e/0xa0 [<ffffffff8100b0f2>] system_call_fastpath+0x16/0x1b Fix: Do not cleanup resources on remove_adapter as they are cleaned up during probe_adapter exit. Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Poornima Vonti 提交于
If IRQ allocation fails, it means system has run out of interrupt vectors, so fail probe_adapter in case of IRQ allocation failure and dont retry adapter initialization. Signed-off-by: NPoornima Vonti <poornima.vonti@qlogic.com> Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Vikas Chaudhary 提交于
For ISP82xx mixed interrupt mode is not supported. Hence prevent MSI/MSI-x from falling back to INTx mode. Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Vikas Chaudhary 提交于
Camram is reset by FW to default values after reboot/cold boot/pci reset. In case of AER, PCI may need to reset so we need to set correct idc reg value after PCIE error. Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Poornima Vonti 提交于
Issue: In qla4_8xxx_error_recovery() IDC lock recovery is initiated as IDC lock is held while enabling the interrupts Fix: Correctly handle IDC locking mechanism in qla4_8xxx_error_recovery(). Signed-off-by: NPoornima Vonti <poornima.vonti@qlogic.com> Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Vikas Chaudhary 提交于
Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Vikas Chaudhary 提交于
Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Manish Dusane 提交于
Signed-off-by: NManish Dusane <manish.dusane@qlogic.com> Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Bart Van Assche 提交于
A quote from SPC-4: "While in the unavailable primary target port asymmetric access state, the device server shall support those of the following commands that it supports while in the active/optimized state: [ ... ] d) SET TARGET PORT GROUPS; [ ... ]". Hence enable sending STPG to a target port group that is in the unavailable state. Signed-off-by: NBart Van Assche <bvanassche@acm.org> Reviewed-by: NMike Christie <michaelc@cs.wisc.edu> Acked-by: NHannes Reinecke <hare@suse.de> Cc: <stable@vger.kernel.org> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Dan Williams 提交于
John reports: BUG: soft lockup - CPU#2 stuck for 23s! [kworker/u:8:2202] [..] Call Trace: [<ffffffff8141782a>] scsi_remove_target+0xda/0x1f0 [<ffffffff81421de5>] sas_rphy_remove+0x55/0x60 [<ffffffff81421e01>] sas_rphy_delete+0x11/0x20 [<ffffffff81421e35>] sas_port_delete+0x25/0x160 [<ffffffff814549a3>] mptsas_del_end_device+0x183/0x270 ...introduced by commit 3b661a92 "[SCSI] fix hot unplug vs async scan race". Don't restart lookup of more stargets in the multi-target case, just arrange to traverse the list once, on the assumption that new targets are always added at the end. There is no guarantee that the target will change state in scsi_target_reap() so we can end up spinning if we restart. Cc: <stable@vger.kernel.org> Acked-by: NJack Wang <jack_wang@usish.com> LKML-Reference: <CAEhu1-6wq1YsNiscGMwP4ud0Q+MrViRzv=kcWCQSBNc8c68N5Q@mail.gmail.com> Reported-by: NJohn Drescher <drescherjm@gmail.com> Tested-by: NJohn Drescher <drescherjm@gmail.com> Signed-off-by: NDan Williams <djbw@fb.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Benjamin Herrenschmidt 提交于
The length field in the host config packet is only 16-bit long, so passing it 0x10000 (64K which is our standard PAGE_SIZE) doesn't work and result in an empty config from the server. Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org> Cc: <stable@vger.kernel.org> Acked-by: NRobert Jennings <rcj@linux.vnet.ibm.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Benjamin Herrenschmidt 提交于
Now that the iSeries code is gone the backend abstraction in this driver is no longer necessary, which allows us to consolidate the driver in one file. The side effect is that the module name is now ibmvscsi.ko which matches the driver hotplug name and fixes auto-load issues. [jejb:fix up checkpatch.pl errors] Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: NRobert Jennings <rcj@linux.vnet.ibm.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Vikas Chaudhary 提交于
Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Vikas Chaudhary 提交于
Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: NMike Christie <michaelc@cs.wisc.edu> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Vikas Chaudhary 提交于
Signed-off-by: NPoornima Vonti <poornima.vonti@qlogic.com> Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: NMike Christie <michaelc@cs.wisc.edu> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Vikas Chaudhary 提交于
Move minidump code from qla4_8xxx_device_bootstrap() to new function qla4_8xxx_get_minidump() to make code more modular. Signed-off-by: NLalit Chandivade <lalit.chandivade@qlogic.com> Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: NMike Christie <michaelc@cs.wisc.edu> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Vikas Chaudhary 提交于
Issue: Device can go to READY state from COLD and skip INITIALIZATION, In this case driver will never set IDC version from function qla4_8xxx_device_bootstrap(). Fix: 1. Set IDC version at start of function qla4_82xx_need_reset_handler(). 2. Set IDC version only if we are 1st driver to load. 3. Added new function qla4_8xxx_update_idc_reg() to set all idc reg at one place. Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: NMike Christie <michaelc@cs.wisc.edu> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Vikas Chaudhary 提交于
Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: NMike Christie <michaelc@cs.wisc.edu> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Vikas Chaudhary 提交于
Signed-off-by: NPoornima Vonti <poornima.vonti@qlogic.com> Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: NMike Christie <michaelc@cs.wisc.edu> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Vikas Chaudhary 提交于
Remove following unused define:- QLA82XX_MINIDUMP_OCM0_SIZE QLA82XX_MINIDUMP_L1C_SIZE QLA82XX_MINIDUMP_L2C_SIZE QLA82XX_MINIDUMP_COMMON_STR_SIZE QLA82XX_MINIDUMP_FCOE_STR_SIZE QLA82XX_MINIDUMP_MEM_SIZE QLA82XX_MAX_ENTRY_HDR Added following new define to optimize code:- MIU_TA_CTL_WRITE_ENABLE MIU_TA_CTL_WRITE_START MIU_TA_CTL_START_ENABLE Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: NMike Christie <michaelc@cs.wisc.edu> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Vikas Chaudhary 提交于
Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: NMike Christie <michaelc@cs.wisc.edu> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Vikas Chaudhary 提交于
ql4_8xxx_mark_entry_skipped to qla4_8xxx_mark_entry_skipped ql4_attr_is_visible to qla4_attr_is_visible Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: NMike Christie <michaelc@cs.wisc.edu> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Vikas Chaudhary 提交于
Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: NMike Christie <michaelc@cs.wisc.edu> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Vikas Chaudhary 提交于
Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: NMike Christie <michaelc@cs.wisc.edu> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Martin Pitt 提交于
Add "removable" module parameter to set the "removable" attribute of any subsequently created debug block device. It is a writable driver option, so that you can switch between removable and "fixed" media block devices in between the add_host calls. This is useful for being able to test the different behaviour/required privileges in e. g. the udisks test suite. Signed-off-by: NMartin Pitt <martin.pitt@ubuntu.com> Acked-by: NDouglas Gilbert <dgilbert@interlog.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Vikas Chaudhary 提交于
Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Vikas Chaudhary 提交于
Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: NMike Christie <michaelc@cs.wisc.edu> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Vikas Chaudhary 提交于
while processing the stop firmware mailbox command on driver unload, a interrupt is processed which causes kernel panic as the response queue is not valid. Fix is to clear the interrupt in free_adapter call just after disabling the interrupts. Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: NMike Christie <michaelc@cs.wisc.edu> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Vikas Chaudhary 提交于
Fix following lockdep warning:- INFO: trying to register non-static key. the code is fine but needs lockdep annotation. turning off the locking correctness validator. Pid: 298, comm: modprobe Not tainted 3.6.0-rc1+ #13 Call Trace: [<c049f5c6>] register_lock_class+0x186/0x360 [<c06e2e39>] ? __dev_printk+0x139/0x280 [<c04a288a>] __lock_acquire+0x6a/0x450 [<c04a2cf4>] lock_acquire+0x84/0xf0 [<f98bb0d0>] ? qla4xxx_post_work+0x20/0x60 [qla4xxx] [<c089a05b>] _raw_spin_lock_irqsave+0x4b/0x60 [<f98bb0d0>] ? qla4xxx_post_work+0x20/0x60 [qla4xxx] [<f98bb0d0>] qla4xxx_post_work+0x20/0x60 [qla4xxx] [<f98bb1c9>] qla4xxx_post_aen_work+0x49/0x60 [qla4xxx] [<f98c6cf2>] qla4xxx_isr_decode_mailbox+0x3f2/0x780 [qla4xxx] [<f98c8493>] qla4_83xx_interrupt_service_routine+0x33/0x50 [qla4xxx] [<f98d0e49>] qla4_83xx_process_mbox_intr+0x29/0x40 [qla4xxx] [<f98c2031>] qla4xxx_mailbox_command+0x361/0x5d0 [qla4xxx] [<c08983c8>] ? mutex_unlock+0x8/0x10 [<f98c3e86>] qla4xxx_get_ifcb+0x66/0xb0 [qla4xxx] [<f98c3ef7>] qla4xxx_update_local_ifcb+0x27/0x100 [qla4xxx] [<f98c56af>] qla4xxx_initialize_fw_cb+0x2ff/0x3b0 [qla4xxx] [<c04150d0>] ? dma_generic_free_coherent+0x30/0x30 [<f98c0f70>] qla4xxx_init_firmware+0x40/0xf0 [qla4xxx] [<f98c10b6>] qla4xxx_initialize_adapter+0x96/0x120 [qla4xxx] [<f98d35cd>] qla4xxx_probe_adapter+0x378/0x855 [qla4xxx] [<c04a1a04>] ? trace_hardirqs_on_caller+0xf4/0x180 [<c04a1a9b>] ? trace_hardirqs_on+0xb/0x10 [<c06ef403>] ? pm_runtime_enable+0x43/0x70 [<c062f042>] local_pci_probe+0x42/0xb0 [<c06300c0>] pci_device_probe+0x60/0x80 [<c06e6bb6>] really_probe+0x56/0x2e0 [<c089a5f2>] ? _raw_spin_unlock_irq+0x22/0x30 [<c06f0b02>] ? pm_runtime_barrier+0x52/0xb0 [<c06e6e77>] driver_probe_device+0x37/0x90 [<c0898281>] ? mutex_lock_nested+0x31/0x40 [<c06e6f51>] __driver_attach+0x81/0x90 [<c06e51e8>] bus_for_each_dev+0x48/0x70 [<c06e68e9>] driver_attach+0x19/0x20 [<c06e6ed0>] ? driver_probe_device+0x90/0x90 [<c06e637f>] bus_add_driver+0x18f/0x280 [<c062ff40>] ? pci_dev_put+0x20/0x20 [<c062ff40>] ? pci_dev_put+0x20/0x20 [<c06e7435>] driver_register+0x65/0x120 [<c061a3a2>] ? __raw_spin_lock_init+0x32/0x60 [<c06302f4>] __pci_register_driver+0x54/0xc0 [<f98e809e>] qla4xxx_module_init+0x9e/0xcd [qla4xxx] [<c040302f>] do_one_initcall+0x2f/0x170 [<f98e8000>] ? 0xf98e7fff [<c04ae025>] sys_init_module+0x75/0x1c0 [<c04a1a04>] ? trace_hardirqs_on_caller+0xf4/0x180 [<c0609514>] ? trace_hardirqs_on_thunk+0xc/0x10 [<c08a141f>] sysenter_do_call+0x12/0x38 Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: NMike Christie <michaelc@cs.wisc.edu> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Dave Jiang 提交于
We always assign a dummy task context to a port in order to address a silicon issue. We have 4 ports per controller. So when idle, there are always exactly 4 TCs "active". The adaptive interrupt coalescing code uses number of active TCs to figure out the coalescing values. However, we never hit "0" TCs because of the 4 dummy TCs. Putting in fix so that we calculate this correctly. Reported-by: NDan Melnic <dan@seamicro.com> Signed-off-by: NDave Jiang <dave.jiang@intel.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Jeff Skirvin 提交于
This commit fixes a driver bug for SSP tasks that require task management in the target after they complete in the SCU hardware. The problem was manifested in the function "isci_task_abort_task", which tests to see if the sas_task.lldd_task is non-NULL before allowing task management; this bug would always NULL lldd_task in the SCU I/O completion path even if target management was required, which would prevent task / target manangement from happening. Note that in the case of SATA/STP targets, error recovery is provided by the libata error handler which is why SATA/STP device recovery worked correctly even though SSP handling did not. Signed-off-by: NJeff Skirvin <jeffrey.d.skirvin@intel.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Robert Love 提交于
This header file is included in user space applications that are doing "FC Passthrough." This include causes them to also include scsi/scsi.h. Since this header file doesn't actually need scsi/scsi.h, remove the include line. This patch was tested with 'make allyesconfig'. Signed-off-by: NRobert Love <robert.w.love@intel.com> Tested-by: NRoss Brattain <ross.b.brattain@intel.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Moger, Babu 提交于
Signed-off-by: NBabu Moger <babu.moger@netapp.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Moger, Babu 提交于
This patch consolidates the strings together. Purpose is to remove minor product strings extensions. That way the future products with similar strings should not require change here. Signed-off-by: NBabu Moger <babu.moger@netapp.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Moger, Babu 提交于
This patch adds a new vendor/product strings for netapp E series product. Also consolidated the strings together with similar names. Signed-off-by: NBabu Moger <babu.moger@netapp.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Martin Peschke 提交于
__scsi_remove_device (e.g. due to dev_loss_tmo) calls zfcp_scsi_slave_destroy which in turn sends a close LUN FSF request to the adapter. After 30 seconds without response, zfcp_erp_timeout_handler kicks the ERP thread failing the close LUN ERP action. zfcp_erp_wait in zfcp_erp_lun_shutdown_wait and thus zfcp_scsi_slave_destroy returns and then scsi_device is no longer valid. Sometime later the response to the close LUN FSF request may finally come in. However, commit b62a8d9b "[SCSI] zfcp: Use SCSI device data zfcp_scsi_dev instead of zfcp_unit" introduced a number of attempts to unconditionally access struct zfcp_scsi_dev through struct scsi_device causing a use-after-free. This leads to an Oops due to kernel page fault in one of: zfcp_fsf_abort_fcp_command_handler, zfcp_fsf_open_lun_handler, zfcp_fsf_close_lun_handler, zfcp_fsf_req_trace, zfcp_fsf_fcp_handler_common. Move dereferencing of zfcp private data zfcp_scsi_dev allocated in scsi_device via scsi_transport_reserve_device after the check for potentially aborted FSF request and thus no longer valid scsi_device. Only then assign sdev_to_zfcp(sdev) to the local auto variable struct zfcp_scsi_dev *zfcp_sdev. Signed-off-by: NMartin Peschke <mpeschke@linux.vnet.ibm.com> Signed-off-by: NSteffen Maier <maier@linux.vnet.ibm.com> Cc: <stable@vger.kernel.org> #2.6.37+ Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Steffen Maier 提交于
In FC fabrics with large zones, the automatic port_rescan on incoming ELS and any adapter recovery can cause quite some traffic at the very same time, especially if lots of Linux images share an HBA, which is common on s390. This can cause trouble and failures. Fix this by making such port rescans dependent on a user configurable module parameter. The following unconditional automatic port rescans remain as is: On setting an adapter online and on manual user-triggered writes to the sysfs attribute port_rescan. Signed-off-by: NSteffen Maier <maier@linux.vnet.ibm.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-