Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

scsi: mpi3mr: Pass queue_limits to bsg_setup_queue()

Pass the limits to bsg_setup_queue() instead of setting them up on the live
queue.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20240409143748.980206-4-hch@lst.de
Reviewed-by: John Garry <john.g.garry@oracle.com>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

authored by

Christoph Hellwig and committed by
Martin K. Petersen
9042fb6d 4373d2ec

+5 -7
+5 -7
drivers/scsi/mpi3mr/mpi3mr_app.c
··· 1845 1845 { 1846 1846 struct device *bsg_dev = &mrioc->bsg_dev; 1847 1847 struct device *parent = &mrioc->shost->shost_gendev; 1848 + struct queue_limits lim = { 1849 + .max_hw_sectors = MPI3MR_MAX_APP_XFER_SECTORS, 1850 + .max_segments = MPI3MR_MAX_APP_XFER_SEGMENTS, 1851 + }; 1848 1852 1849 1853 device_initialize(bsg_dev); 1850 1854 ··· 1864 1860 return; 1865 1861 } 1866 1862 1867 - mrioc->bsg_queue = bsg_setup_queue(bsg_dev, dev_name(bsg_dev), NULL, 1863 + mrioc->bsg_queue = bsg_setup_queue(bsg_dev, dev_name(bsg_dev), &lim, 1868 1864 mpi3mr_bsg_request, NULL, 0); 1869 1865 if (IS_ERR(mrioc->bsg_queue)) { 1870 1866 ioc_err(mrioc, "%s: bsg registration failed\n", 1871 1867 dev_name(bsg_dev)); 1872 1868 device_del(bsg_dev); 1873 1869 put_device(bsg_dev); 1874 - return; 1875 1870 } 1876 - 1877 - blk_queue_max_segments(mrioc->bsg_queue, MPI3MR_MAX_APP_XFER_SEGMENTS); 1878 - blk_queue_max_hw_sectors(mrioc->bsg_queue, MPI3MR_MAX_APP_XFER_SECTORS); 1879 - 1880 - return; 1881 1871 } 1882 1872 1883 1873 /**