- 13 2月, 2011 1 次提交
-
-
由 James Bottomley 提交于
There is a small race window in qla2x00_do_dpc() between checking for kthread_should_stop() and going to sleep after setting TASK_INTERRUPTIBLE. If qla2x00_free_device() is called in this window, kthread_stop will wait forever because there will be no one to wake up the process. Fix by making sure we only set TASK_INTERRUPTIBLE before checking kthread_stop(). Reported-by: NBandan Das <bandan.das@stratus.com> Acked-by: NMadhuranath Iyengar <Madhu.Iyengar@qlogic.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
- 25 1月, 2011 2 次提交
-
-
由 James Bottomley 提交于
libsas makes use of scsi_schedule_eh() but forgets to clear the host_eh_scheduled flag in its error handling routine. Because of this, the error handler thread never gets to sleep; it's constantly awake and trying to run the error routine leading to console spew and inability to run anything else (at least on a UP system). The fix is to clear the flag as we splice the work queue. Cc: stable@kernel.org Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 NickCheng 提交于
[jejb: fix up patch problems and checkpatch.pl issues] Signed-off-by: NNick Cheng <nick.cheng@areca.com.tw> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
- 24 1月, 2011 6 次提交
-
-
由 Kashyap, Desai 提交于
Issue: IR shutdown(sending) and IR shutdown(complete) messages not listed in /var/log/messages when driver is removed. The driver needs to issue a MPI2_RAID_ACTION_SYSTEM_SHUTDOWN_INITIATED request when the driver is unloaded so the IR metadata journal is updated. If this request is not sent, then the volume would need a "check consistency" issued on the next bootup if the volume was roamed from one initiator to another. The current driver supports this feature only when the system is rebooted, however this also need to be supported if the driver is unloaded Fix: To fix this issue, the driver is going to need to call the _scsih_ir_shutdown prior to reporting the volumes missing from the OS, hence the device handles are still present. Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com> Cc: stable@kernel.org Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Kashyap, Desai 提交于
There was a configuration page timing out during the initial port enable at driver load time. The port enable would fail, and this would result in the driver unloading itself, meanwhile the driver was accessing freed memory in another context resulting in the panic. The fix is to prevent access to freed memory once the driver had issued the diag reset which woke up the sleeping port enable process. The routine _base_reset_handler was reorganized so the last sleeping process woken up was the port_enable. Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com> Cc: stable@kernel.org Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Kashyap, Desai 提交于
False timeout after hard resets, there were two issues which leads to timeout. (1) Panic because of invalid memory access in the broadcast asyn event processing routine due to a race between accessing the scsi command pointer from broadcast asyn event processing thread and completing the same scsi command from the interrupt context. (2) Broadcast asyn event notifcations are not handled due to events ignored while the broadcast asyn event is activity being processed from the event process kernel thread. In addition, changed the ABRT_TASK_SET to ABORT_TASK in the broadcast async event processing routine. This is less disruptive to other request that generate Broadcast Asyn Primitives besides target reset. e.g clear reservations, microcode download,and mode select. Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com> Cc: stable@kernel.org Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Kashyap, Desai 提交于
The ioc->hba_queue_depth is not properly resized when the controller firmware reports that it supports more outstanding IO than what can be fit inside the reply descriptor pool depth. This is reproduced by setting the controller global credits larger than 30,000. The bug results in an incorrect sizing of the queues. The fix is to resize the queue_size by dividing queue_diff by two. Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com> Cc: stable@kernel.org Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Kashyap, Desai 提交于
The "internal device reset complete" event is not supported for older firmware prior to MPI Rev K We added a check in the driver so the "internal device reset" event is ignored for older firmware. When ignored, the tm_busy flag doesn't get set nor cleared. Without this fix, IO queues would be froozen indefinetly after the "internal device reset" event, as the "complete" event never sent to clear the flag. Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com> Cc: stable@kernel.org Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Kashyap, Desai 提交于
When zoning end devices, the driver is not sending device removal handshake alogrithm to firmware. This results in controller firmware not sending sas topology add events the next time the device is added. The fix is the driver should be doing the device removal handshake even though the PHYSTATUS_VACANT bit is set in the PhyStatus of the event data. The current design is avoiding the handshake when the VACANT bit is set in the phy status. Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com> Cc: stable@kernel.org Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
- 14 1月, 2011 2 次提交
-
-
由 Tejun Heo 提交于
SDEV_MEDIA_CHANGE event was first added by commit a341cd0f (SCSI: add asynchronous event notification API) for SATA AN support and then extended to cover generic media change events by commit 285e9670 ([SCSI] sr,sd: send media state change modification events). This event was mapped to block device in userland with all properties stripped to simulate CHANGE event on the block device, which, in turn, was used to trigger further userspace action on media change. The recent addition of disk event framework kept this event for backward compatibility but it turns out to be unnecessary and causes erratic and inefficient behavior. The new disk event generates proper events on the block devices and the compat events are mapped to block device with all properties stripped, so the block device ends up generating multiple duplicate events for single actual event. This patch removes the compat event generation from both sr and sd as suggested by Kay Sievers. Both existing and newer versions of udev and the associated tools will behave better with the removal of these events as they from the beginning were expecting events on the block devices. Signed-off-by: NTejun Heo <tj@kernel.org> Acked-by: NKay Sievers <kay.sievers@vrfy.org> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Tejun Heo 提交于
Replace sd_media_change() with sd_check_events(). * Move media removed logic into set_media_not_present() and media_not_present() and set sdev->changed iff an existing media is removed or the device indicates UNIT_ATTENTION. * Make sd_check_events() sets sdev->changed if previously missing media becomes present. * Event is reported only if sdev->changed is set. This makes media presence event reported if scsi_disk->media_present actually changed or the device indicated UNIT_ATTENTION. For backward compatibility, SDEV_EVT_MEDIA_CHANGE is generated each time sd_check_events() detects media change event. [jejb: fix boot failure] Signed-off-by: NTejun Heo <tj@kernel.org> Acked-by: NJens Axboe <jaxboe@fusionio.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
- 06 1月, 2011 1 次提交
-
-
由 Jeff Garzik 提交于
It's stored in struct scsi_cmnd->scsi_done, making several 'done' parameters to functions redundant. Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
- 05 1月, 2011 1 次提交
-
-
由 Tejun Heo 提交于
SDEV_MEDIA_CHANGE event was first added by commit a341cd0f (SCSI: add asynchronous event notification API) for SATA AN support and then extended to cover generic media change events by commit 285e9670 ([SCSI] sr,sd: send media state change modification events). This event was mapped to block device in userland with all properties stripped to simulate CHANGE event on the block device, which, in turn, was used to trigger further userspace action on media change. The recent addition of disk event framework kept this event for backward compatibility but it turns out to be unnecessary and causes erratic and inefficient behavior. The new disk event generates proper events on the block devices and the compat events are mapped to block device with all properties stripped, so the block device ends up generating multiple duplicate events for single actual event. This patch removes the compat event generation from both sr and sd as suggested by Kay Sievers. Both existing and newer versions of udev and the associated tools will behave better with the removal of these events as they from the beginning were expecting events on the block devices. Signed-off-by: NTejun Heo <tj@kernel.org> Acked-by: NKay Sievers <kay.sievers@vrfy.org> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
- 04 1月, 2011 3 次提交
-
-
由 roel kluin 提交于
Use command->sc_data_direction instead of trying (incorrectly) to figure it out from the command itself [jejb: fix up compile failure] Signed-off-by: NRoel Kluin <roel.kluin@gmail.com> Acked-by: NNickCheng <nick.cheng@areca.com.tw> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Tomas Henzl 提交于
according to checkstack the lpfc_fc_frame_check occupies the first place in stack usage: make checkstack objdump -d vmlinux $(find . -name '*.ko') | \ perl /root/rpmbuild/BUILD/kernel-2.6.32/linux-2.6.32.x86_64/scripts/checkstack.pl x86_64 0x000013f4 lpfc_fc_frame_check [lpfc]: 1936 ... This change makes the rctl_names static, thus not on stack. Signed-off-by: NTomas Henzl <thenzl@redhat.com> Acked-by: NJames Smart <james.smart@emulex.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Alan Stern 提交于
Signed-off-by: NAlan Stern <stern@rowland.harvard.edu> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
- 03 1月, 2011 1 次提交
-
-
由 Justin P. Mattock 提交于
The below patch fixes a typo "diable" to "disable" and also fixes another typo in a comment. Please let me know if this is correct or not. Signed-off-by: NJustin P. Mattock <justinmattock@gmail.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 31 12月, 2010 9 次提交
-
-
由 Mike Christie 提交于
The session lock is taken in threads, timers, and bottom halves like softirqs and tasklets. All the code but iscsi_conn/session_failure take the session lock with the spin_lock_bh call. This was done because I thought some offload drivers would be calling these functions from a irq. They never did, so this patch has iscsi_conn/session_failure use the bh locking. Signed-off-by: NMike Christie <michaelc@cs.wisc.edu> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Mike Christie 提交于
iscsi_tcp, ib_iser, cxgb*, be2iscsi and bnx2i do not use the host lock and do not take the session lock against a irq, so this patch drops the DEF_SCSI_QCMD use. Instead we just take the session lock and disable bhs. Signed-off-by: NMike Christie <michaelc@cs.wisc.edu> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Mike Christie 提交于
If alloc_pdu fails then the task->hdr pointer may not be set. This adds a check for this case in the cleanup callback. Signed-off-by: NMike Christie <michaelc@cs.wisc.edu> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Mike Christie 提交于
The pdu allication callout is called from a spin lock and in the IO path so we cannot use GFP_KERNEL. This has the driver use GFP_ATOMIC. Signed-off-by: NMike Christie <michaelc@cs.wisc.edu> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Mike Christie 提交于
This adds a more informative error code and message for the iscsi scsi eh session drop paths. This allows you to distinguish if the session was dropped due to a connection failure vs the iscsi layer dropping the session due to scsi eh failure processing. Signed-off-by: NMike Christie <michaelc@cs.wisc.edu> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Julia Lawall 提交于
Add missing call to gdth_ioctl_free before aborting. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression buf,ha,len,addr,E; @@ buf = gdth_ioctl_alloc(ha, len, FALSE, &addr) ... when != false buf != NULL when != true buf == NULL when != \(E = buf\|buf = E\) when != gdth_ioctl_free(ha, len, buf, addr) *return ...; // </smpl> Signed-off-by: NJulia Lawall <julia@diku.dk> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Jing Huang 提交于
This patch removes unused functions, data strucutres, and definitions. It also includes misc comment and formatting cleanups. Signed-off-by: NJing Huang <huangj@brocade.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Jing Huang 提交于
This patch removes some inactive functions and macros. Signed-off-by: NJing Huang <huangj@brocade.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Jing Huang 提交于
Signed-off-by: NJing Huang <huangj@brocade.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
- 28 12月, 2010 1 次提交
-
-
由 Tejun Heo 提交于
Replace sd_media_change() with sd_check_events(). * Move media removed logic into set_media_not_present() and media_not_present() and set sdev->changed iff an existing media is removed or the device indicates UNIT_ATTENTION. * Make sd_check_events() sets sdev->changed if previously missing media becomes present. * Event is reported only if sdev->changed is set. This makes media presence event reported if scsi_disk->media_present actually changed or the device indicated UNIT_ATTENTION. For backward compatibility, SDEV_EVT_MEDIA_CHANGE is generated each time sd_check_events() detects media change event. [jejb: fix boot failure] Signed-off-by: NTejun Heo <tj@kernel.org> Acked-by: NJens Axboe <jaxboe@fusionio.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
- 24 12月, 2010 13 次提交
-
-
由 Giridhar Malavali 提交于
Signed-off-by: NGiridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: NMadhuranath Iyengar <Madhu.Iyengar@qlogic.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Giridhar Malavali 提交于
Signed-off-by: NGiridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: NMadhuranath Iyengar <Madhu.Iyengar@qlogic.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Giridhar Malavali 提交于
Signed-off-by: NGiridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: NMadhuranath Iyengar <Madhu.Iyengar@qlogic.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Andrew Vasquez 提交于
Signed-off-by: NAndrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: NMadhuranath Iyengar <Madhu.Iyengar@qlogic.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Andrew Vasquez 提交于
The semantics we employ now in the driver, performing a BIG_HAMMER in the event of Get-ID (0x20) mailbox command failing, should only be done for FC. On FC configurations, it makes sense since advertising is only really performed once, so a BIG_HAMMER to reinitiate the process is needed to restart. Under FCoE, this is not needed, as there's a continous stream of advertisements/ACks at the protocol layer to initiate a relogin/reinitialization process. Signed-off-by: NAndrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: NMadhuranath Iyengar <Madhu.Iyengar@qlogic.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Joe Carnuccio 提交于
For driver module parameters that have permission bits set to (S_IRUGO|S_IRUSR), remove the second term since it is already included in the first term. S_IRUGO comes defined as (S_IRUSR|S_IRGRP|S_IROTH). Signed-off-by: NJoe Carnuccio <joe.carnuccio@qlogic.com> Signed-off-by: NMadhuranath Iyengar <Madhu.Iyengar@qlogic.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Andrew Vasquez 提交于
Signed-off-by: NAndrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: NMadhuranath Iyengar <Madhu.Iyengar@qlogic.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Giridhar Malavali 提交于
Signed-off-by: NGiridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: NLalit Chandivade <lalit.chandivade@qlogic.com> Signed-off-by: NMadhuranath Iyengar <Madhu.Iyengar@qlogic.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Madhuranath Iyengar 提交于
Signed-off-by: NSwapnil Nagle <swapnil.nagle@qlogic.com> Signed-off-by: NKaren Higgins <karen.higgins@qlogic.com> Signed-off-by: NMadhuranath Iyengar <Madhu.Iyengar@qlogic.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Madhuranath Iyengar 提交于
The FCP priority info was not being updated properly in certain situations. Here are the changes that needs to be done to take care of this issue: 1. No need to check fcport->state for FCS_UNCONFIGURED in qla24xx_update_fcport_fcp_prio(), since an invalid loop id check is already performed which is sufficient. 2. Add the missing qla24xx_update_fcport_fcp_prio() function call within qla2x00_update_fcport() function, so that the priority info is updated on every port addition or change. 3. Perform proper adapter types checking. 4. Other changes, associated with DEBUG/printk's and parameter passing. Signed-off-by: NSaurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: NAndrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: NGiridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: NMadhuranath Iyengar <Madhu.Iyengar@qlogic.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Joe Carnuccio 提交于
Fixed the incorrect zero test on array new_config[]. Signed-off-by: NJoe Carnuccio <joe.carnuccio@qlogic.com> Signed-off-by: NMadhuranath Iyengar <Madhu.Iyengar@qlogic.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Andrew Vasquez 提交于
Signed-off-by: NAndrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: NMadhuranath Iyengar <Madhu.Iyengar@qlogic.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Dan Carpenter 提交于
This is just a cleanup. The unneeded NULL check annoys static checkers because we already derefenced it and the we check it and then (if it's not the _safe() version) we dereference it again without checking. And the static checker is all, "Wah? Is it null or not?" Signed-off-by: NDan Carpenter <error27@gmail.com> Signed-off-by: NMadhuranath Iyengar <Madhu.Iyengar@qlogic.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-