diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2012-11-06 23:04:44 +0100 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2013-01-29 03:55:06 +0100 |
commit | 8108de9739abeec72f4811532109695e245df42a (patch) | |
tree | d7561a7747deee5ffb61e2a83c5c907a2b5d60f2 /lib/fdt_strerror.c | |
parent | Merge tag 'md-3.8-fixes' of git://neil.brown.name/md (diff) | |
download | linux-8108de9739abeec72f4811532109695e245df42a.tar.xz linux-8108de9739abeec72f4811532109695e245df42a.zip |
[SCSI] gdth: Remove buggy ROM handling
The ROM address handling in gdth_init_pci() is useless and possibly
dangerous. This patch removes it.
"pci_resource_start(pdev, 8)" is not well-defined. PCI resources 0-5 are
standard PCI BARs and 6 is the expansion ROM. Resource 8 is either an
SR-IOV BAR (if CONFIG_PCI_IOV=y, resources 7-12 are SR-IOV BARs) or a
bridge window (resources 7-10).
The GDT device is neither an SR-IOV device nor a bridge, so in either case
resource 8 should be zero since struct pci_dev is allocated with kzalloc().
It is illegal for a driver to write an arbitrary address to the ROM BAR
because it has no way of knowing whether the ROM will conflict with another
device.
I think the only effect of the code being removed was to:
1) Enable the ROM at 0xFEFF0000 (possibly causing a conflict with
another device)
2) Delay one millisecond
3) Write zero to the ROM BAR, disabling it
I doubt the delay is needed, but I left it since it seems innocuous.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'lib/fdt_strerror.c')
0 files changed, 0 insertions, 0 deletions