- 25 10月, 2013 38 次提交
-
-
由 Jayamohan Kallickal 提交于
The MSIx to be created for SKH-R adapter should be based on eq_count returned by get_fw_config. Signed-off-by: NJohn Soni Jose <sony.john-n@emulex.com> Signed-off-by: NJayamohan Kallickal <jayamohan.kallickal@emulex.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Jayamohan Kallickal 提交于
Signed-off-by: NJohn Soni Jose <sony.john-n@emulex.com> Signed-off-by: NJayamohan Kallickal <jayamohan.kallickal@emulex.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Jayamohan Kallickal 提交于
Display CID available on each iSCSI Fn which can be used to offload a connection. The display is split across available CID on each chute. Signed-off-by: NJohn Soni Jose <sony.john-n@emulex.com> Signed-off-by: NJayamohan Kallickal <jayamohan.kallickal@emulex.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Jayamohan Kallickal 提交于
Signed-off-by: NJohn Soni Jose <sony.john-n@emulex.com> Signed-off-by: NJayamohan Kallickal <jayamohan.kallickal@emulex.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Jayamohan Kallickal 提交于
The connection is offload to each chute in a round-robin manner if both the chute is loaded with iSCSI protocol Signed-off-by: NJohn Soni Jose <sony.john-n@emulex.com> Signed-off-by: NJayamohan Kallickal <jayamohan.kallickal@emulex.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Jayamohan Kallickal 提交于
Configuration parameters returns the number of connection that can be offloaded one each chute. Signed-off-by: NJohn Soni Jose <sony.john-n@emulex.com> Signed-off-by: NJayamohan Kallickal <jayamohan.kallickal@emulex.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Jayamohan Kallickal 提交于
Configuration parameters return number of CID each chute supports. The WRB_Q is created for the passed CID count. If both the Chute has iSCSI Protocol then WRB_Q creation is in a round robin mechanism. For BE-X family iSCSI protocol is loaded only on single chute. Signed-off-by: NJohn Soni Jose <sony.john-n@emulex.com> Signed-off-by: NJayamohan Kallickal <jayamohan.kallickal@emulex.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Jayamohan Kallickal 提交于
Initialization of SGL and related PAGE posting is to be done for the chute. Based on configuration value of each Chute,SGL initialization and page posting is done. For BE-X family iSCSI protocol is loaded only on single chute Signed-off-by: NJohn Soni Jose <sony.john-n@emulex.com> Signed-off-by: NJayamohan Kallickal <jayamohan.kallickal@emulex.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Jayamohan Kallickal 提交于
Template HDR is created for each chute which has iSCSI Protocol loaded. For BE-X family iSCSI protocol is loaded only on single chute. Signed-off-by: NJohn Soni Jose <sony.john-n@emulex.com> Signed-off-by: NJayamohan Kallickal <jayamohan.kallickal@emulex.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Jayamohan Kallickal 提交于
DEF_Q[HDR/DATA] is created on the chute on which iSCSI Protocol is loaded. When a connection is offloaded, the DEF_Q HDR/Data ID needs to be passed. FW posts ASYNC message received from target on the passed DEF_Q. Connection can be offloaded on any of the chute so DEF_Q is created on each Chute. Change in the ASYNC path initialization based on the configuration parameters returned for each chute. For BE-X family iSCSI protocol is loaded only on single chute. Signed-off-by: NJohn Soni Jose <sony.john-n@emulex.com> Signed-off-by: NJayamohan Kallickal <jayamohan.kallickal@emulex.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Jayamohan Kallickal 提交于
On the adapter iSCSI protocol can be loaded on either one or both the CHUTE.Check on which CHUTE iSCSI Protocol is loaded and get configuration parameters based on which driver initization is done. For BE-X family iSCSI protocol is loaded only on single chute. Signed-off-by: NJohn Soni Jose <sony.john-n@emulex.com> Signed-off-by: NJayamohan Kallickal <jayamohan.kallickal@emulex.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Jayamohan Kallickal 提交于
The timeout set in MBX_CMD is 100sec and the ready bit checking in BMBX mode is done for 4sec. After 4sec the task is scheduled out for 5 secs to avoid kernel soft lockup stack trace. The loop of 4sec ready bit check and then schedule out is done until the following conditon occur - The Ready Bit is Set - The timeout set in MBX_CMD expires Signed-off-by: NJohn Soni Jose <sony.john-n@emulex.com> Signed-off-by: NJayamohan Kallickal <jayamohan.kallickal@emulex.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Jayamohan Kallickal 提交于
The default pdu is a common resource and needs to be protected while manipulating it. Signed-off-by: NMinh Tran <minhduc.tran@emulex.com> Signed-off-by: NJohn Soni Jose <sony.john-n@emulex.com> Signed-off-by: NJayamohan Kallickal <jayamohan.kallickal@emulex.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Jayamohan Kallickal 提交于
- Removed the check of MaxXmitDSL == 0 as this is not a possible case. - Update connection offload data structure for SKH-R adapters. Signed-off-by: NJohn Soni Jose <sony.john-n@emulex.com> Signed-off-by: NJayamohan Kallickal <jayamohan.kallickal@emulex.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Jayamohan Kallickal 提交于
Storing MAC ADDR of each function in it's priv structure to avoid issuing MAC_ADDR get IOCTL. Based on a flag set/unset it's decided if MAC_ADDR is stored in priv structure or IOCTL needs to be issued. Signed-off-by: NJohn Soni Jose <sony.john-n@emulex.com> Signed-off-by: NJayamohan Kallickal <jayamohan.kallickal@emulex.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Jayamohan Kallickal 提交于
When MBX CMD is posted in MCCQ and if command times out,during mccq resource cleanup for the timed out command mccq->count was not decremented. The led to BUG_ON being hit. Signed-off-by: NJohn Soni Jose <sony.john-n@emulex.com> Signed-off-by: NJayamohan Kallickal <jayamohan.kallickal@emulex.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Jayamohan Kallickal 提交于
Allocating memory in the Host which will be used by the TOE functionality during Session Offload. This fix will allow performance improvement as adapter memory contention will be reduced. Signed-off-by: NJohn Soni Jose <sony.john-n@emulex.com> Signed-off-by: NJayamohan Kallickal <jayamohan.kallickal@emulex.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Eddie Wai 提交于
Signed-off-by: NEddie Wai <eddie.wai@broadcom.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Eddie Wai 提交于
Signed-off-by: NEddie Wai <eddie.wai@broadcom.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Eddie Wai 提交于
[v2] - removed the interface->enabled flag setting which prevented the fcoe ctlr link from being brought back up after a MTU change A rtnl_lock deadlock was observed from the rmmod thread where it tries to unregister the fcoe_ctlr device. This unregistration triggered a flush of the sysfs queue of the associated ctlr and led to a call to the set_fcoe_ctlr_enabled routine. This will eventually propagate down to call the bnx2fc_disable routine and contented for the rtnl_lock in the same context. This patch creates a subset of the bnx2fc_enable/disable routine which removes the unnecesary rtnl_lock and the bnx2fc_dev_lock acquisition from the set_fcoe_ctlr_enabled path. kernel: INFO: task rmmod:7874 blocked for more than 120 seconds. kernel: Tainted: G W --------------- 2.6.32-415.0.1.el6.x86_64 #1 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. kernel: rmmod D 000000000000000f 0 7874 6518 0x00000080 kernel: ffff88022158f7d8 0000000000000086 0000000000000000 0000000000000000 kernel: ffff88023fe72600 ffff88043c74d410 ffff88043c74d400 ffff88043c74d000 kernel: ffff88021ecbe5f8 ffff88022158ffd8 000000000000fbc8 ffff88021ecbe5f8 kernel: Call Trace: kernel: [<ffffffff81525985>] schedule_timeout+0x215/0x2e0 kernel: [<ffffffff810680c0>] ? pick_next_task_fair+0xd0/0x130 kernel: [<ffffffff81524858>] ? schedule+0x178/0x3b2 kernel: [<ffffffff81525603>] wait_for_common+0x123/0x180 kernel: [<ffffffff81066b40>] ? default_wake_function+0x0/0x20 kernel: [<ffffffff811a486e>] ? ifind_fast+0x5e/0xb0 kernel: [<ffffffff8152571d>] wait_for_completion+0x1d/0x20 kernel: [<ffffffff81203868>] sysfs_addrm_finish+0x228/0x270 kernel: [<ffffffff812014ab>] sysfs_hash_and_remove+0x5b/0x90 kernel: [<ffffffff812056af>] sysfs_remove_group+0x5f/0x100 kernel: [<ffffffff81367e8b>] device_remove_groups+0x3b/0x60 kernel: [<ffffffff8136811d>] device_remove_attrs+0x3d/0x90 kernel: [<ffffffff81368295>] device_del+0x125/0x1e0 kernel: [<ffffffff81368372>] device_unregister+0x22/0x60 kernel: [<ffffffffa038ead2>] fcoe_ctlr_device_delete+0xe2/0xf4 [libfcoe] kernel: [<ffffffffa03c43cb>] bnx2fc_interface_release+0x5b/0x90 [bnx2fc] kernel: [<ffffffffa03c4370>] ? bnx2fc_interface_release+0x0/0x90 [bnx2fc] kernel: [<ffffffff812835e7>] kref_put+0x37/0x70 kernel: [<ffffffffa03c4192>] __bnx2fc_destroy+0x72/0xa0 [bnx2fc] kernel: [<ffffffffa03c5265>] bnx2fc_ulp_exit+0xf5/0x160 [bnx2fc] <- got bnx2fc_dev_lock mutex_lock kernel: [<ffffffffa03b03c6>] cnic_ulp_exit+0xb6/0xc0 [cnic] kernel: [<ffffffffa03b5418>] cnic_netdev_event+0x368/0x370 [cnic] kernel: [<ffffffffa038c56c>] ? fcoe_del_netdev_mapping+0x8c/0xa0 [libfcoe] kernel: [<ffffffff8152a6e5>] notifier_call_chain+0x55/0x80 kernel: [<ffffffff810a0a46>] raw_notifier_call_chain+0x16/0x20 kernel: [<ffffffff81459beb>] call_netdevice_notifiers+0x1b/0x20 kernel: [<ffffffff8145ab34>] rollback_registered_many+0x154/0x280 kernel: [<ffffffff8145ad08>] rollback_registered+0x38/0x50 kernel: [<ffffffff8145ad78>] unregister_netdevice_queue+0x58/0xa0 kernel: [<ffffffff8145add0>] unregister_netdevice+0x10/0x20 kernel: [<ffffffff8145adfe>] unregister_netdev+0x1e/0x30 <- got rtnl_lock!!!!!!!!! kernel: [<ffffffffa0122278>] __bnx2x_remove+0x48/0x270 [bnx2x] <- got & rel rtnl_lock kernel: [<ffffffffa0122554>] bnx2x_remove_one+0x44/0x80 [bnx2x] kernel: [<ffffffff812a3af7>] pci_device_remove+0x37/0x70 kernel: [<ffffffff8136b2ef>] __device_release_driver+0x6f/0xe0 kernel: [<ffffffff8136b428>] driver_detach+0xc8/0xd0 kernel: [<ffffffff8136a22e>] bus_remove_driver+0x8e/0x110 kernel: [<ffffffff8136bc12>] driver_unregister+0x62/0xa0 kernel: [<ffffffff812a3e04>] pci_unregister_driver+0x44/0xb0 kernel: [<ffffffffa0191954>] bnx2x_cleanup+0x18/0x73 [bnx2x] kernel: [<ffffffff810b8be4>] sys_delete_module+0x194/0x260 kernel: [<ffffffff810e1347>] ? audit_syscall_entry+0x1d7/0x200 kernel: [<ffffffff8100b072>] system_call_fastpath+0x16/0x1b Signed-off-by: NEddie Wai <eddie.wai@broadcom.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Eddie Wai 提交于
In the case when a SCSI_CMD times out, bnx2fc will initiate the sending of the ABTS. However, if the SCSI layer's SCSI command timer also times out, it'll instantiate a task abort of the same xid. The race condition this patch tries to fix is as follows: SCSI_CMD timeout (20s) thread 1 thread 2 send ABTS rx ABTS cmpl task abort_eh explicit LOGO since ABTS was engaged CLEANUP cmpl SCSI_CMD cmpl (ABTS cmpl) instantiate RRQ wait 10s attempt to send RRQ (because of LOGO, it wouldn't continue) Note that there is no call to scsi_done for this SCSI_CMD cmpletion in this path. The patch changes the path of execution to call scsi_done immediately instead of instantiating the RRQ. Signed-off-by: NEddie Wai <eddie.wai@broadcom.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Adheer Chandravanshi 提交于
Add support to get local CHAP - index, username and password, sysfs params of iscsi session corresponding to flash target entry. Signed-off-by: NAdheer Chandravanshi <adheer.chandravanshi@qlogic.com> Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Adheer Chandravanshi 提交于
Provide support to add/update the CHAP entries in adapter's flash using iscsi tools, like Open-iSCSI. Signed-off-by: NAdheer Chandravanshi <adheer.chandravanshi@qlogic.com> Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Adheer Chandravanshi 提交于
For offload iSCSI like qla4xxx, CHAP entries are stored in adapter's flash. This patch adds support to add/update CHAP entries in adapter's flash using iscsi tools, like Open-iSCSI. Signed-off-by: NAdheer Chandravanshi <adheer.chandravanshi@qlogic.com> Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Adheer Chandravanshi 提交于
To write a CHAP entry in adapter's flash calculate the offset based on the type of adapter. Signed-off-by: NAdheer Chandravanshi <adheer.chandravanshi@qlogic.com> Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Adheer Chandravanshi 提交于
If any flash target entry is using CHAP authentication then set CHAP username and password sysfs params for the corresponding iscsi sessions. Signed-off-by: NAdheer Chandravanshi <adheer.chandravanshi@qlogic.com> Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Adheer Chandravanshi 提交于
Support setting of CHAP_OUT_IDX param for the target entry in flash. Setting of valid local CHAP index with enable CHAP AUTH for that flash target entry and disabling CHAP AUTH will invalidate the CHAP index for the flash target entry. Signed-off-by: NAdheer Chandravanshi <adheer.chandravanshi@qlogic.com> Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Adheer Chandravanshi 提交于
Signed-off-by: NAdheer Chandravanshi <adheer.chandravanshi@qlogic.com> Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Manish Rangankar 提交于
Earlier logic for driver created iscsi_session->discovery_parent_idx was to store ram index of a sendtarget entry, but driver frees sendtarget ram index as soon as firmware is done with discovery, which is available for further use. So changing the logic to point iscsi_session->discovery_parent_idx to store sendtarget flashnode index. Signed-off-by: NManish Rangankar <manish.rangankar@qlogic.com> Signed-off-by: NVikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Sumit.Saxena@lsi.com 提交于
Fixed two issues in this patch- 1) In function megasas_get_pd_list(), data read(pd_addr->deviceId) from DMAed memory is converted to CPU's endianess. 2) While register AEN, removed some endianness conversion on some fields, since their endianess is already converted. Signed-off-by: NSumit Saxena <sumit.saxena@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Khalid Aziz 提交于
Added check for DMA mapping errors for request sense data buffer. Checking for mapping error can avoid potential wild writes. This patch was prompted by the warning from dma_unmap when kernel is compiled with CONFIG_DMA_API_DEBUG. Signed-off-by: NKhalid Aziz <khalid.aziz@oracle.com> Tested-by: NTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Hiral Patel 提交于
Signed-off-by: NHiral Patel <hiralpat@cisco.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Hiral Patel 提交于
This feature gathers active and cumulative per fnic stats for io, abort, terminate, reset, vlan discovery path and it also includes various important stats for debugging issues. It also provided debugfs and ioctl interface for user to retrieve these stats. It also provides functionality to reset cumulative stats through user interface. Signed-off-by: NHiral Patel <hiralpat@cisco.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Narsimhulu Musini 提交于
Fixed appropriate error codes that returns negative error number on failure, and 0 on success. fnic_reset() is used directly by the fc transport callback issue_fc_host_lip which requires a negative error number on failure. Signed-off-by: NNarsimhulu Musini <nmusini@cisco.com> Signed-off-by: NHiral Patel <hiralpat@cisco.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Jack Wang 提交于
If you mutiple devices connect to a host, we might be interested in have an intensive I/O workload on one disk, and notice starvation on others. This give the user more hint about current infight io for scsi device. Signed-off-by: NJack Wang <jinpu.wang@profitbricks.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Stewart, Sean 提交于
Signed-off-by: NSean Stewart <Sean.Stewart@netapp.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Jon Mason 提交于
The PCIE capability offset is saved during PCI bus walking. It will remove an unnecessary search in the PCI configuration space if this value is referenced instead of reacquiring it. Also, pci_is_pcie is a better way of determining if the device is PCIE or not (as it uses the same saved PCIE capability offset). Signed-off-by: NJon Mason <jdmason@kudzu.us> Acked-by: NJames Smart <james.smart@emulex.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Mike Miller 提交于
This patch removes the PCI ID of a cancelled Smart Array. Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 23 10月, 2013 2 次提交
-
-
由 Aaron Lu 提交于
Sujit has found a race condition that would make q->nr_pending unbalanced, it occurs as Sujit explained: " sd_probe_async() -> add_disk() -> disk_add_event() -> schedule(disk_events_workfn) sd_revalidate_disk() blk_pm_runtime_init() return; Let's say the disk_events_workfn() calls sd_check_events() which tries to send test_unit_ready() and because of sd_revalidate_disk() trying to send another commands the test_unit_ready() might be re-queued as the tagged command queuing is disabled. So the race condition is - Thread 1 | Thread 2 sd_revalidate_disk() | sd_check_events() ...nr_pending = 0 as q->dev = NULL| scsi_queue_insert() blk_runtime_pm_init() | blk_pm_requeue_request() -> | nr_pending = -1 since | q->dev != NULL " The problem is, the test_unit_ready request doesn't get counted the first time it is queued, so the later decrement of q->nr_pending in blk_pm_requeue_request makes it unbalanced. Fix this by calling blk_pm_runtime_init before add_disk so that all requests initiated there will all be counted. Signed-off-by: NAaron Lu <aaron.lu@intel.com> Reported-and-tested-by: NSujit Reddy Thumma <sthumma@codeaurora.org> Cc: stable@vger.kernel.org Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Chad Dupuis 提交于
If an invalid IOCB is returned on the response queue then the index into the request queue map could be invalid and could return to us a bogus value. This could cause us to try to deference an invalid pointer and cause an exception. If we encounter this condition, simply return as no context can be established for this response. Signed-off-by: NChad Dupuis <chad.dupuis@qlogic.com> Signed-off-by: NSaurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-