ncr5380: Standardize work queueing algorithm
authorFinn Thain <fthain@telegraphics.com.au>
Sun, 3 Jan 2016 05:05:38 +0000 (16:05 +1100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 7 Jan 2016 02:43:00 +0000 (21:43 -0500)
commit010e89d18c4e66ab69d64bab439eba988d16fcc9
treec22ad62f6201a609b72ae0192bcbf3aa06333c0b
parent8d8601a757688386e914b922cc267a9244e0fdc9
ncr5380: Standardize work queueing algorithm

The complex main_running/queue_main mechanism is peculiar to
atari_NCR5380.c. It isn't SMP safe and offers little value given that
the work queue already offers concurrency management. Remove this
complexity to bring atari_NCR5380.c closer to NCR5380.c.

It is not a good idea to call the information transfer state machine from
queuecommand because, according to Documentation/scsi/scsi_mid_low_api.txt
that could happen in soft irq context. Fix this.

Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Tested-by: Michael Schmitz <schmitzmic@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/NCR5380.h
drivers/scsi/atari_NCR5380.c