| From 82bac7309849ee4d7c54b2aa273a5b335e75db62 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 27 Sep 2021 21:44:08 +0530 |
| Subject: scsi: csiostor: Add module softdep on cxgb4 |
| |
| From: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
| |
| [ Upstream commit 79a7482249a7353bc86aff8127954d5febf02472 ] |
| |
| Both cxgb4 and csiostor drivers run on their own independent Physical |
| Function. But when cxgb4 and csiostor are both being loaded in parallel via |
| modprobe, there is a race when firmware upgrade is attempted by both the |
| drivers. |
| |
| When the cxgb4 driver initiates the firmware upgrade, it halts the firmware |
| and the chip until upgrade is complete. When the csiostor driver is coming |
| up in parallel, the firmware mailbox communication fails with timeouts and |
| the csiostor driver probe fails. |
| |
| Add a module soft dependency on cxgb4 driver to ensure loading csiostor |
| triggers cxgb4 to load first when available to avoid the firmware upgrade |
| race. |
| |
| Link: https://lore.kernel.org/r/1632759248-15382-1-git-send-email-rahul.lakkireddy@chelsio.com |
| Fixes: a3667aaed569 ("[SCSI] csiostor: Chelsio FCoE offload driver") |
| Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
| Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/scsi/csiostor/csio_init.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| diff --git a/drivers/scsi/csiostor/csio_init.c b/drivers/scsi/csiostor/csio_init.c |
| index 390b07bf92b9..ccbded3353bd 100644 |
| --- a/drivers/scsi/csiostor/csio_init.c |
| +++ b/drivers/scsi/csiostor/csio_init.c |
| @@ -1254,3 +1254,4 @@ MODULE_DEVICE_TABLE(pci, csio_pci_tbl); |
| MODULE_VERSION(CSIO_DRV_VERSION); |
| MODULE_FIRMWARE(FW_FNAME_T5); |
| MODULE_FIRMWARE(FW_FNAME_T6); |
| +MODULE_SOFTDEP("pre: cxgb4"); |
| -- |
| 2.33.0 |
| |