OSDN Git Service

nvme: check hw sectors before setting chunk sectors
authorKeith Busch <keith.busch@intel.com>
Thu, 14 Dec 2017 18:20:14 +0000 (11:20 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 3 Mar 2018 09:24:23 +0000 (10:24 +0100)
commitfbd047ffcccf07f1c24f96f8dd23add065c9cdbe
treec1cd41cce2d222d97b57c0eed3fd34498220f2ee
parenta1aef5ce2abef719d1881bd22e0e875cca8f7b6f
nvme: check hw sectors before setting chunk sectors

[ Upstream commit 249159c5f15812140fa216f9997d799ac0023a1f ]

Some devices with IDs matching the "stripe" quirk don't actually have
this quirk, and don't have an MDTS value. When MDTS is not set, the
driver sets the max sectors to UINT_MAX, which is not a power of 2,
hitting a BUG_ON from blk_queue_chunk_sectors. This patch skips setting
chunk sectors for such devices.

Signed-off-by: Keith Busch <keith.busch@intel.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/nvme/host/core.c