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 3w-xxxx: fix mis-aligned struct accesses 2014-07-25 17:16:56 -04:00
53c700_d.h_shipped
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
a100u2w.c scsi: use pci_zalloc_consistent 2014-08-08 15:57:29 -07:00
a100u2w.h
a2091.c zorro: ZTWO_VADDR() should return "void __iomem *" 2013-11-26 11:09:07 +01:00
a2091.h
a3000.c zorro: ZTWO_VADDR() should return "void __iomem *" 2013-11-26 11:09:07 +01:00
a3000.h
a4000t.c zorro: ZTWO_VADDR() should return "void __iomem *" 2013-11-26 11:09:07 +01:00
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 SCSI: remove unnecessary pci_set_drvdata() 2013-10-14 15:26:04 +02:00
atp870u.h
BusLogic.c scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
BusLogic.h [SCSI] BusLogic: Port driver to 64-bit. 2013-06-26 18:32:47 -07:00
bvme6000_scsi.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
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 scsi: use 64-bit value for 'max_luns' 2014-07-17 22:07:38 +02:00
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 scsi: use 64-bit LUNs 2014-07-17 22:07:37 +02:00
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_generic.h
eata_pio.c [SCSI] remove deprecated IRQF_DISABLED from SCSI 2014-03-19 15:04:44 -07:00
eata_pio.h
eata.c scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
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 esp_scsi: Fix tag state corruption when autosensing. 2013-08-01 18:08:34 -07:00
fdomain.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
fdomain.h
FlashPoint.c [SCSI] BusLogic: Port driver to 64-bit. 2013-06-26 18:32:47 -07:00
g_NCR5380_mmio.c
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
gdth_ioctl.h
gdth_proc.c gdth: switch to ->show_info() 2013-04-09 14:13:16 -04:00
gdth_proc.h gdth: switch to ->show_info() 2013-04-09 14:13:16 -04:00
gdth.c scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
gdth.h gdth: switch to ->show_info() 2013-04-09 14:13:16 -04:00
gvp11.c zorro: ZTWO_VADDR() should return "void __iomem *" 2013-11-26 11:09:07 +01:00
gvp11.h
hosts.c scsi: remove ordered_tag host template field 2014-11-12 11:19:41 +01:00
hpsa_cmd.h hpsa: get rid of type/attribute/direction bit field where possible 2014-11-20 09:11:25 +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
hptiop.c scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
hptiop.h [SCSI] hptiop: Support HighPoint RR4520/RR4522 HBA 2012-11-27 08:59:43 +04:00
imm.c imm: switch to ->show_info() 2013-04-09 14:13:16 -04:00
imm.h
in2000.c scsi: use 64-bit LUNs 2014-07-17 22:07:37 +02:00
in2000.h
initio.c [SCSI] remove deprecated IRQF_DISABLED from SCSI 2014-03-19 15:04:44 -07:00
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 ips: switch to ->show_info() 2013-04-09 14:13:27 -04:00
iscsi_boot_sysfs.c [SCSI] iscsi_boot_sysfs: Fix a memory leak in iscsi_boot_destroy_kset() 2014-03-15 10:19:19 -07:00
iscsi_tcp.c scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
iscsi_tcp.h net: Fix use after free by removing length arg from sk_data_ready callbacks. 2014-04-11 16:15:36 -04:00
jazz_esp.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
Kconfig mac_scsi: Add module option to Kconfig 2014-11-20 09:11:12 +01:00
lasi700.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
libiscsi_tcp.c [SCSI] libiscsi: Reduce locking contention in fast path 2014-03-15 10:19:18 -07:00
libiscsi.c scsi: avoid ->change_queue_depth indirection for queue full tracking 2014-11-24 14:45:12 +01:00
mac53c94.c
mac53c94.h
mac_esp.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
mac_scsi.c atari_NCR5380: Introduce FLAG_TAGGED_QUEUING 2014-11-20 09:11:19 +01:00
Makefile xen-scsifront: Add Xen PV SCSI frontend driver 2014-09-23 13:36:19 +00:00
megaraid.c scsi: correct return values for .eh_abort_handler implementations 2014-11-12 11:16:08 +01:00
megaraid.h [SCSI] megaraid: simplify internal command handling 2014-03-27 08:26:31 -07:00
mesh.c scsi: use pci_zalloc_consistent 2014-08-08 15:57:29 -07:00
mesh.h
mvme16x_scsi.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
mvme147.c switch wd33c93 to ->show_info() 2013-04-09 14:13:15 -04:00
mvme147.h
mvumi.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
mvumi.h [SCSI] mvumi: Use PCI_VENDOR_ID_MARVELL_EXT for 0x1b4b 2013-04-15 14:30:44 -06:00
ncr53c8xx.c scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
ncr53c8xx.h scsi: Remove CONFIG_SCSI_MULTI_LUN 2014-07-17 22:07:35 +02:00
NCR53c406a.c NCR53c406a: don't call free_dma() by default 2014-07-25 17:16:56 -04:00
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 Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
NCR_D700.h
NCR_Q720.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
NCR_Q720.h
nsp32_debug.c
nsp32_io.h
nsp32.c SCSI for-linus on 20141007 2014-10-07 21:29:18 -04:00
nsp32.h
osst_detect.h
osst_options.h
osst.c osst: call scsi_set_medium_removal directly 2014-11-12 11:16:12 +01:00
osst.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: switch to ->show_info() 2013-04-09 14:13:17 -04:00
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
qlogicfas408.c
qlogicfas408.h
qlogicfas.c qlogicfas: don't call free_dma() 2014-07-25 17:16:55 -04:00
qlogicpti.c scsi: convert host_busy to atomic_t 2014-07-25 07:43:43 -04:00
qlogicpti.h
raid_class.c
script_asm.pl
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: do not issue SCSI RSOC command to Promise Vtrak E610f 2014-07-29 18:01:10 -04:00
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_dma.c
scsi_lib.c scsi: add new scsi-command flag for tagged commands 2014-11-12 11:19:40 +01:00
scsi_logging.h scsi: simplify scsi_log_(send|completion) 2014-11-12 11:16:05 +01:00
scsi_module.c
scsi_netlink.c net: Use netlink_ns_capable to verify the permisions of netlink messages 2014-04-24 13:44:54 -04:00
scsi_pm.c scsi: async sd resume 2014-04-10 15:30:35 -07:00
scsi_priv.h scsi: add support for a blk-mq based I/O path. 2014-07-25 17:16:28 -04:00
scsi_proc.c scsi: use 64-bit LUNs 2014-07-17 22:07:37 +02:00
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: convert use of typedef ctl_table to struct ctl_table 2014-06-06 16:08:16 -07:00
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 tracing: Add trace_seq_buffer_ptr() helper function 2014-07-01 07:13:39 -04:00
scsi_transport_api.h
scsi_transport_fc.c scsi: add defines for new FC port speeds. 2014-07-25 17:16:54 -04:00
scsi_transport_iscsi.c iscsi class: Fix freeing of skb in get host error path 2014-08-04 13:16:14 +02:00
scsi_transport_sas.c scsi: use 64-bit LUNs 2014-07-17 22:07:37 +02:00
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
scsi.c scsi: don't set tagging state from scsi_adjust_queue_depth 2014-11-12 11:19:43 +01:00
scsi.h
scsicam.c scsi: PC partition tables are little endian 2014-11-12 11:15:54 +01:00
sd_dif.c sd: Honor block layer integrity handling flags 2014-09-30 15:17:35 -06: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
ses.c [SCSI] ses: Use vpd information from scsi_device 2014-03-27 08:26:31 -07:00
sg.c scsi: split scsi_nonblockable_ioctl 2014-11-12 11:16:11 +01:00
sgiwd93.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sim710.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sni_53c710.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sr_ioctl.c scsi: repurpose the last argument from print_opcode_name() 2014-11-12 11:16:03 +01:00
sr_vendor.c scsi: Implement sr_printk() 2014-07-17 22:07:39 +02:00
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
st_options.h
st.c st: call scsi_set_medium_removal directly 2014-11-12 11:16:12 +01:00
st.h [SCSI] st: raise device limit 2012-09-14 17:59:29 +01:00
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_vme.c scsi/NCR5380: merge sun3_scsi_vme.c into sun3_scsi.c 2014-05-28 12:16:28 +02: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
sun3x_esp.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sun_esp.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sym53c416.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
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 scsi: use 64-bit LUNs 2014-07-17 22:07:37 +02:00
wd33c93.h switch wd33c93 to ->show_info() 2013-04-09 14:13:15 -04:00
wd7000.c [SCSI] remove deprecated IRQF_DISABLED from SCSI 2014-03-19 15:04:44 -07:00
xen-scsifront.c xen: remove DEFINE_XENBUS_DRIVER() macro 2014-10-06 10:27:57 +01:00
zalon.c Drivers: scsi: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
zorro7xx.c zorro: ZTWO_VADDR() should return "void __iomem *" 2013-11-26 11:09:07 +01:00