mirror of
https://github.com/torvalds/linux.git
synced 2024-12-20 01:52:13 +00:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] qlogicpti: fix sg list traversal error in continuation entries [SCSI] Fix hang with split requests [SCSI] qla2xxx: Defer enablement of RISC interrupts until ISP initialization completes.
This commit is contained in:
commit
0d0f3ef248
@ -1834,7 +1834,6 @@ clear_risc_ints:
|
||||
WRT_REG_WORD(®->isp.hccr, HCCR_CLR_HOST_INT);
|
||||
}
|
||||
spin_unlock_irq(&ha->hardware_lock);
|
||||
ha->isp_ops->enable_intrs(ha);
|
||||
|
||||
fail:
|
||||
return ret;
|
||||
|
@ -1740,6 +1740,8 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
|
||||
if (ret)
|
||||
goto probe_failed;
|
||||
|
||||
ha->isp_ops->enable_intrs(ha);
|
||||
|
||||
scsi_scan_host(host);
|
||||
|
||||
qla2x00_alloc_sysfs_attr(ha);
|
||||
|
@ -852,7 +852,7 @@ static void scsi_end_bidi_request(struct scsi_cmnd *cmd)
|
||||
void scsi_io_completion(struct scsi_cmnd *cmd, unsigned int good_bytes)
|
||||
{
|
||||
int result = cmd->result;
|
||||
int this_count = scsi_bufflen(cmd);
|
||||
int this_count;
|
||||
struct request_queue *q = cmd->device->request_queue;
|
||||
struct request *req = cmd->request;
|
||||
int error = 0;
|
||||
@ -908,6 +908,7 @@ void scsi_io_completion(struct scsi_cmnd *cmd, unsigned int good_bytes)
|
||||
*/
|
||||
if (scsi_end_request(cmd, error, good_bytes, result == 0) == NULL)
|
||||
return;
|
||||
this_count = blk_rq_bytes(req);
|
||||
|
||||
/* good_bytes = 0, or (inclusive) there were leftovers and
|
||||
* result = 0, so scsi_end_request couldn't retry.
|
||||
|
Loading…
Reference in New Issue
Block a user