diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.19pre8/drivers/scsi/qlogicfc.c linux.19pre8-ac5/drivers/scsi/qlogicfc.c --- linux.19pre8/drivers/scsi/qlogicfc.c Thu May 9 22:40:23 2002 +++ linux.19pre8-ac5/drivers/scsi/qlogicfc.c Thu May 9 22:40:52 2002 @@ -1343,18 +1343,11 @@ num_free = QLOGICFC_REQ_QUEUE_LEN - REQ_QUEUE_DEPTH(in_ptr, out_ptr); num_free = (num_free > 2) ? num_free - 2 : 0; - host->can_queue = hostdata->queued + num_free; + host->can_queue = host->host_busy + num_free; if (host->can_queue > QLOGICFC_REQ_QUEUE_LEN) host->can_queue = QLOGICFC_REQ_QUEUE_LEN; host->sg_tablesize = QLOGICFC_MAX_SG(num_free); - /* this is really gross */ - if (host->can_queue <= host->host_busy){ - if (host->can_queue+2 < host->host_busy) - DEBUG(printk("qlogicfc%d.c crosses its fingers.\n", hostdata->host_id)); - host->can_queue = host->host_busy + 1; - } - LEAVE("isp2x00_queuecommand"); return 0; @@ -1623,17 +1616,11 @@ num_free = QLOGICFC_REQ_QUEUE_LEN - REQ_QUEUE_DEPTH(in_ptr, out_ptr); num_free = (num_free > 2) ? num_free - 2 : 0; - host->can_queue = hostdata->queued + num_free; + host->can_queue = host->host_busy + num_free; if (host->can_queue > QLOGICFC_REQ_QUEUE_LEN) host->can_queue = QLOGICFC_REQ_QUEUE_LEN; host->sg_tablesize = QLOGICFC_MAX_SG(num_free); - if (host->can_queue <= host->host_busy){ - if (host->can_queue+2 < host->host_busy) - DEBUG(printk("qlogicfc%d : crosses its fingers.\n", hostdata->host_id)); - host->can_queue = host->host_busy + 1; - } - outw(HCCR_CLEAR_RISC_INTR, host->io_port + HOST_HCCR); LEAVE_INTR("isp2x00_intr_handler"); }