linux/drivers/scsi
Christoph Hellwig 1e6f241604 scsi: don't allow setting of queue_depth bigger than can_queue
We won't ever queue more commands than the host allows.  Instead of
letting drivers either reject or ignore this case handle it in
common code.  Note that various driver use internal constant or
variables that are assigned to both shost->can_queue and checked
in ->change_queue_depth - I did remove those checks as well.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Reviewed-by: Hannes Reinecke <hare@suse.de>
2014-11-24 14:45:26 +01:00
..
aacraid scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
aic7xxx scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
aic94xx scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
arcmsr scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
arm ncr5380: Drop legacy scsi.h include 2014-11-20 09:11:10 +01:00
be2iscsi scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
bfa bfa: replace 2 kzalloc/copy_from_user by memdup_user 2014-11-20 09:11:29 +01:00
bnx2fc scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
bnx2i scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
csiostor scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
cxgbi scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
device_handler scsi: handle more device handler setup/teardown in common code 2014-11-12 11:19:36 +01:00
dpt
esas2r scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
fcoe scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
fnic scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
ibmvscsi scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
isci scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
libfc scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
libsas scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
lpfc scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
megaraid scsi: don't allow setting of queue_depth bigger than can_queue 2014-11-24 14:45:26 +01:00
mpt2sas scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
mpt3sas scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
mvsas scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
osd Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osd 2014-10-21 12:53:45 -07:00
pcmcia treewide: Fix typo in printk 2014-08-26 09:35:54 +02:00
pm8001 scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
qla2xxx scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
qla4xxx scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
sym53c8xx_2 scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
ufs scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
.gitignore
3w-9xxx.c scsi: don't allow setting of queue_depth bigger than can_queue 2014-11-24 14:45:26 +01:00
3w-9xxx.h
3w-sas.c scsi: don't allow setting of queue_depth bigger than can_queue 2014-11-24 14:45:26 +01:00
3w-sas.h
3w-xxxx.c scsi: don't allow setting of queue_depth bigger than can_queue 2014-11-24 14:45:26 +01:00
3w-xxxx.h
53c700.c scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
53c700.h
53c700.scr
53c700_d.h_shipped
BusLogic.c scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
BusLogic.h
FlashPoint.c
Kconfig mac_scsi: Add module option to Kconfig 2014-11-20 09:11:12 +01:00
Makefile xen-scsifront: Add Xen PV SCSI frontend driver 2014-09-23 13:36:19 +00:00
NCR53c406a.c
NCR5380.c ncr5380: Drop legacy scsi.h include 2014-11-20 09:11:10 +01:00
NCR5380.h atari_NCR5380: Move static co-routine variables to host data 2014-11-20 09:11:20 +01:00
NCR_D700.c
NCR_D700.h
NCR_Q720.c
NCR_Q720.h
a100u2w.c scsi: use pci_zalloc_consistent 2014-08-08 15:57:29 -07:00
a100u2w.h
a2091.c
a2091.h
a3000.c
a3000.h
a4000t.c
advansys.c scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
aha152x.c aha152x: debug output update and whitespace cleanup 2014-11-12 11:15:57 +01:00
aha152x.h
aha1542.c
aha1542.h
aha1740.c scsi: correct return values for .eh_abort_handler implementations 2014-11-12 11:16:08 +01:00
aha1740.h
atari_NCR5380.c atari_NCR5380: Fix "transfered" typo 2014-11-20 09:11:21 +01:00
atari_scsi.c atari_NCR5380: Move static co-routine variables to host data 2014-11-20 09:11:20 +01:00
atp870u.c
atp870u.h
bvme6000_scsi.c
ch.c scsi: split scsi_nonblockable_ioctl 2014-11-12 11:16:11 +01:00
constants.c scsi: simplify scsi_log_(send|completion) 2014-11-12 11:16:05 +01:00
dc395x.c
dc395x.h
dmx3191d.c dmx3191d: Use NO_IRQ 2014-11-20 09:11:11 +01:00
dpt_i2o.c scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
dpti.h
dtc.c ncr5380: Drop legacy scsi.h include 2014-11-20 09:11:10 +01:00
dtc.h ncr5380: Remove *_RELEASE macros 2014-11-20 09:11:10 +01:00
eata.c scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
eata_generic.h
eata_pio.c
eata_pio.h
esp_scsi.c scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
esp_scsi.h
fdomain.c
fdomain.h
g_NCR5380.c ncr5380: Drop legacy scsi.h include 2014-11-20 09:11:10 +01:00
g_NCR5380.h ncr5380: Remove *_RELEASE macros 2014-11-20 09:11:10 +01:00
g_NCR5380_mmio.c
gdth.c scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
gdth.h
gdth_ioctl.h
gdth_proc.c
gdth_proc.h
gvp11.c
gvp11.h
hosts.c scsi: remove ordered_tag host template field 2014-11-12 11:19:41 +01:00
hpsa.c scsi: don't allow setting of queue_depth bigger than can_queue 2014-11-24 14:45:26 +01:00
hpsa.h hpsa: use atomics for commands_outstanding 2014-11-20 09:11:25 +01:00
hpsa_cmd.h hpsa: get rid of type/attribute/direction bit field where possible 2014-11-20 09:11:25 +01:00
hptiop.c scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
hptiop.h
imm.c
imm.h
in2000.c
in2000.h
initio.c
initio.h
ipr.c ipr: set coherent DMA mask 2014-11-12 11:32:00 +01:00
ipr.h ipr: convert to generic DMA API 2014-11-12 11:32:00 +01:00
ips.c scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
ips.h
iscsi_boot_sysfs.c
iscsi_tcp.c scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
iscsi_tcp.h
jazz_esp.c
lasi700.c
libiscsi.c scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
libiscsi_tcp.c
mac53c94.c
mac53c94.h
mac_esp.c
mac_scsi.c atari_NCR5380: Introduce FLAG_TAGGED_QUEUING 2014-11-20 09:11:19 +01:00
megaraid.c scsi: correct return values for .eh_abort_handler implementations 2014-11-12 11:16:08 +01:00
megaraid.h
mesh.c scsi: use pci_zalloc_consistent 2014-08-08 15:57:29 -07:00
mesh.h
mvme16x_scsi.c
mvme147.c
mvme147.h
mvumi.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
mvumi.h
ncr53c8xx.c scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
ncr53c8xx.h
nsp32.c SCSI for-linus on 20141007 2014-10-07 21:29:18 -04:00
nsp32.h
nsp32_debug.c
nsp32_io.h
osst.c osst: call scsi_set_medium_removal directly 2014-11-12 11:16:12 +01:00
osst.h
osst_detect.h
osst_options.h
pas16.c ncr5380: Drop legacy scsi.h include 2014-11-20 09:11:10 +01:00
pas16.h ncr5380: Remove *_RELEASE macros 2014-11-20 09:11:10 +01:00
pmcraid.c scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
pmcraid.h
ppa.c
ppa.h
ps3rom.c scsi: Remove scsi_print_command when calling abort 2014-11-12 11:16:04 +01:00
qla1280.c scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
qla1280.h
qlogicfas.c
qlogicfas408.c
qlogicfas408.h
qlogicpti.c
qlogicpti.h
raid_class.c
script_asm.pl
scsi.c scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
scsi.h
scsi_debug.c scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
scsi_devinfo.c
scsi_error.c scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
scsi_ioctl.c scsi: return EAGAIN when resetting a device under EH 2014-11-12 11:16:12 +01:00
scsi_lib.c scsi: add new scsi-command flag for tagged commands 2014-11-12 11:19:40 +01:00
scsi_lib_dma.c
scsi_logging.h scsi: simplify scsi_log_(send|completion) 2014-11-12 11:16:05 +01:00
scsi_module.c
scsi_netlink.c
scsi_pm.c
scsi_priv.h
scsi_proc.c
scsi_sas_internal.h
scsi_scan.c scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
scsi_sysctl.c
scsi_sysfs.c scsi: don't allow setting of queue_depth bigger than can_queue 2014-11-24 14:45:26 +01:00
scsi_trace.c
scsi_transport_api.h
scsi_transport_fc.c
scsi_transport_iscsi.c
scsi_transport_sas.c
scsi_transport_spi.c scsi: remove abuses of scsi_populate_tag 2014-11-12 11:19:41 +01:00
scsi_transport_srp.c Main set of InfiniBand/RDMA updates for 3.17 merge window: 2014-08-14 11:09:05 -06:00
scsi_typedefs.h
scsicam.c scsi: PC partition tables are little endian 2014-11-12 11:15:54 +01:00
sd.c sd: disable discard_zeroes_data for UNMAP 2014-11-12 11:19:14 +01:00
sd.h scsi: introduce sdev_prefix_printk() 2014-11-12 11:15:57 +01:00
sd_dif.c sd: Honor block layer integrity handling flags 2014-09-30 15:17:35 -06:00
ses.c
sg.c scsi: split scsi_nonblockable_ioctl 2014-11-12 11:16:11 +01:00
sgiwd93.c
sim710.c
sni_53c710.c
sr.c scsi: split scsi_nonblockable_ioctl 2014-11-12 11:16:11 +01:00
sr.h scsi: introduce sdev_prefix_printk() 2014-11-12 11:15:57 +01:00
sr_ioctl.c scsi: repurpose the last argument from print_opcode_name() 2014-11-12 11:16:03 +01:00
sr_vendor.c
st.c st: call scsi_set_medium_removal directly 2014-11-12 11:16:12 +01:00
st.h
st_options.h
stex.c scsi: don't force tagged_supported in drivers 2014-11-12 11:19:44 +01:00
storvsc_drv.c scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
sun3_scsi.c atari_NCR5380: Remove RESET_RUN_DONE macro 2014-11-20 09:11:20 +01:00
sun3_scsi.h sun3_scsi: Move macro definitions 2014-11-20 09:11:15 +01:00
sun3_scsi_vme.c
sun3x_esp.c
sun_esp.c
sym53c416.c
sym53c416.h
t128.c ncr5380: Drop legacy scsi.h include 2014-11-20 09:11:10 +01:00
t128.h ncr5380: Remove *_RELEASE macros 2014-11-20 09:11:10 +01:00
tmscsim.c scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
tmscsim.h tmscim: remove unused SCSI_IRQ_NONE macro definition 2014-11-12 11:31:58 +01:00
u14-34f.c scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
ultrastor.c
ultrastor.h
virtio_scsi.c scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
vmw_pvscsi.c scsi: don't allow setting of queue_depth bigger than can_queue 2014-11-24 14:45:26 +01:00
vmw_pvscsi.h PCI: Move PCI_VENDOR_ID_VMWARE to pci_ids.h 2014-09-24 11:52:09 -06:00
wd33c93.c
wd33c93.h
wd7000.c
xen-scsifront.c xen: remove DEFINE_XENBUS_DRIVER() macro 2014-10-06 10:27:57 +01:00
zalon.c
zorro7xx.c