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
3 changed files with 4 additions and 2 deletions
|
@ -1834,7 +1834,6 @@ clear_risc_ints:
|
||||||
WRT_REG_WORD(®->isp.hccr, HCCR_CLR_HOST_INT);
|
WRT_REG_WORD(®->isp.hccr, HCCR_CLR_HOST_INT);
|
||||||
}
|
}
|
||||||
spin_unlock_irq(&ha->hardware_lock);
|
spin_unlock_irq(&ha->hardware_lock);
|
||||||
ha->isp_ops->enable_intrs(ha);
|
|
||||||
|
|
||||||
fail:
|
fail:
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -1740,6 +1740,8 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
|
||||||
if (ret)
|
if (ret)
|
||||||
goto probe_failed;
|
goto probe_failed;
|
||||||
|
|
||||||
|
ha->isp_ops->enable_intrs(ha);
|
||||||
|
|
||||||
scsi_scan_host(host);
|
scsi_scan_host(host);
|
||||||
|
|
||||||
qla2x00_alloc_sysfs_attr(ha);
|
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)
|
void scsi_io_completion(struct scsi_cmnd *cmd, unsigned int good_bytes)
|
||||||
{
|
{
|
||||||
int result = cmd->result;
|
int result = cmd->result;
|
||||||
int this_count = scsi_bufflen(cmd);
|
int this_count;
|
||||||
struct request_queue *q = cmd->device->request_queue;
|
struct request_queue *q = cmd->device->request_queue;
|
||||||
struct request *req = cmd->request;
|
struct request *req = cmd->request;
|
||||||
int error = 0;
|
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)
|
if (scsi_end_request(cmd, error, good_bytes, result == 0) == NULL)
|
||||||
return;
|
return;
|
||||||
|
this_count = blk_rq_bytes(req);
|
||||||
|
|
||||||
/* good_bytes = 0, or (inclusive) there were leftovers and
|
/* good_bytes = 0, or (inclusive) there were leftovers and
|
||||||
* result = 0, so scsi_end_request couldn't retry.
|
* result = 0, so scsi_end_request couldn't retry.
|
||||||
|
|
Loading…
Add table
Reference in a new issue