scsi: cxlflash: Fix power-of-two validations
Validation statements to enforce assumptions about specific defines are not being evaluated by the compiler due to the fact that they reside in a routine that is not used. To activate them, call the routine as part of module initialization. As an additional, related cleanup, remove the now-defunct CXLFLASH_NUM_CMDS. Signed-off-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com> Signed-off-by: Uma Krishnan <ukrishn@linux.vnet.ibm.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:

committed by
Martin K. Petersen

parent
50b787f723
commit
cd41e18daf
@@ -52,12 +52,6 @@ extern const struct file_operations cxlflash_cxl_fops;
|
|||||||
certain AFU errors */
|
certain AFU errors */
|
||||||
|
|
||||||
/* Command management definitions */
|
/* Command management definitions */
|
||||||
#define CXLFLASH_NUM_CMDS (2 * CXLFLASH_MAX_CMDS) /* Must be a pow2 for
|
|
||||||
alignment and more
|
|
||||||
efficient array
|
|
||||||
index derivation
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define CXLFLASH_MAX_CMDS 256
|
#define CXLFLASH_MAX_CMDS 256
|
||||||
#define CXLFLASH_MAX_CMDS_PER_LUN CXLFLASH_MAX_CMDS
|
#define CXLFLASH_MAX_CMDS_PER_LUN CXLFLASH_MAX_CMDS
|
||||||
|
|
||||||
@@ -71,6 +65,7 @@ extern const struct file_operations cxlflash_cxl_fops;
|
|||||||
static inline void check_sizes(void)
|
static inline void check_sizes(void)
|
||||||
{
|
{
|
||||||
BUILD_BUG_ON_NOT_POWER_OF_2(CXLFLASH_NUM_FC_PORTS_PER_BANK);
|
BUILD_BUG_ON_NOT_POWER_OF_2(CXLFLASH_NUM_FC_PORTS_PER_BANK);
|
||||||
|
BUILD_BUG_ON_NOT_POWER_OF_2(CXLFLASH_MAX_CMDS);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* AFU defines a fixed size of 4K for command buffers (borrow 4K page define) */
|
/* AFU defines a fixed size of 4K for command buffers (borrow 4K page define) */
|
||||||
|
@@ -2847,6 +2847,7 @@ static struct pci_driver cxlflash_driver = {
|
|||||||
*/
|
*/
|
||||||
static int __init init_cxlflash(void)
|
static int __init init_cxlflash(void)
|
||||||
{
|
{
|
||||||
|
check_sizes();
|
||||||
cxlflash_list_init();
|
cxlflash_list_init();
|
||||||
|
|
||||||
return pci_register_driver(&cxlflash_driver);
|
return pci_register_driver(&cxlflash_driver);
|
||||||
|
Reference in New Issue
Block a user