[SCSI] qla2xxx: Check for empty slot in request queue before posting Command type 6 request.

For ISP82xx, the check for empty slot in request queue before posting command type 6
request was missing. This could lead to request queue entry corruptions causing
IO timeouts.

Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>

authored by Giridhar Malavali and committed by James Bottomley 1bd58b89 0374f55e

+13
+13
drivers/scsi/qla2xxx/qla_nx.c
··· 2672 2672 sufficient_dsds: 2673 2673 req_cnt = 1; 2674 2674 2675 + if (req->cnt < (req_cnt + 2)) { 2676 + cnt = (uint16_t)RD_REG_DWORD_RELAXED( 2677 + &reg->req_q_out[0]); 2678 + if (req->ring_index < cnt) 2679 + req->cnt = cnt - req->ring_index; 2680 + else 2681 + req->cnt = req->length - 2682 + (req->ring_index - cnt); 2683 + } 2684 + 2685 + if (req->cnt < (req_cnt + 2)) 2686 + goto queuing_error; 2687 + 2675 2688 ctx = sp->ctx = mempool_alloc(ha->ctx_mempool, GFP_ATOMIC); 2676 2689 if (!sp->ctx) { 2677 2690 DEBUG(printk(KERN_INFO