NVMe: fail pci initialization if the device doesn't have any BARs
authorJens Axboe <axboe@fb.com>
Fri, 14 Nov 2014 16:50:19 +0000 (09:50 -0700)
committerJens Axboe <axboe@fb.com>
Thu, 20 Nov 2014 18:10:06 +0000 (11:10 -0700)
commitbe7837e89d610046ae8dd28dc504df09261d9f91
tree6ea5c96d1004ce9f10248312d26d70a2ed7b494f
parent2c30540b38d683d4c7f06d13a451f67d4362d7b1
NVMe: fail pci initialization if the device doesn't have any BARs

The PCI init of NVMe doesn't check for valid bars before proceeding
to map and use BAR 0. If the device is hosed (or firmware is), then
we should catch this case and give up early.

This fixes a:

[ 1662.035778] WARNING: CPU: 0 PID: 4 at arch/x86/mm/ioremap.c:63 __ioremap_check_ram+0xa7/0xc0()

and later badness on such a device.

Acked-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/block/nvme-core.c