On Wed, Jul 09, 2014 at 01:19:41PM +0200, Hannes Reinecke wrote:
quoted
host_not_ready:
- atomic_dec(&scsi_target(sdev)->target_busy);
+ if (scsi_target(sdev)->can_queue > 0)
+ atomic_dec(&scsi_target(sdev)->target_busy);
not_ready:
/*
* lock q, handle tag, requeue req, and decrement device_busy. We
Hmm. 'can_queue' can be changed by the LLDD. Don't we need some sort of
synchronization here?
While a few drivers change the host can_queue value at runtime none
do for the target. While I don't think driver should even change the
host one even modification to the target one is perfectly fine as long
as no driver drops it to zero.