> It seems another driver(qla4xxx) is also using shared queue tag. > It is natural to imagine there might be same symptom in that > driver. But I don't know the driver and have no hardware so I > can not say anything certain about it. qla4xxx implements slightly differently, in the sense we don't have the equivalent of struct st_ccb ccb[MU_MAX_REQUEST]; which is in struct st_hba. In other words we don't have a local array which like stex to keep track of the outstanding commands to the hba. We had a discussion on this one while implementing block-layer tagging in qla4xxx and Jens Axboe added the test_and_set_bit() in the following code in blk_queue_start_tag() to take care of it. do { tag = find_first_zero_bit(bqt->tag_map, bqt->max_depth); if (tag >= bqt->max_depth) return 1; } while (test_and_set_bit(tag, bqt->tag_map)); Please see the following link for the discussion http://marc.theaimsgroup.com/?l=linux-scsi&m=115886351206726&w=2 Cheers David Somayajulu QLogic Corporation - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html