Linux SCSI subsystem development
 help / color / mirror / Atom feed
* [PATCH v1 0/4] mpt3sas: Few Enhancements and minor fixes
@ 2025-09-22  9:51 Ranjan Kumar
  2025-09-22  9:51 ` [PATCH v1 1/4] mpt3sas: Fix crash in transport port remove by using ioc_info() Ranjan Kumar
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Ranjan Kumar @ 2025-09-22  9:51 UTC (permalink / raw)
  To: linux-scsi, martin.petersen
  Cc: sathya.prakash, chandrakanth.patil, prayas.patel, Ranjan Kumar

Few Enhancements and minor fixes of mpt3sas driver.

Ranjan Kumar (4):
  mpt3sas: Fix crash in transport port remove by using ioc_info()
  mpt3sas: suppress unnecessary IOCLogInfo on CONFIG_INVALID_PAGE
  mpt3sas: Add support for 22.5 Gbps SAS link rate
  mpt3sas: update driver version to 54.100.00.00

 drivers/scsi/mpt3sas/mpt3sas_base.c      |  8 +++++++-
 drivers/scsi/mpt3sas/mpt3sas_base.h      |  4 ++--
 drivers/scsi/mpt3sas/mpt3sas_transport.c | 11 ++++++-----
 3 files changed, 15 insertions(+), 8 deletions(-)

-- 
2.47.3


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v1 1/4] mpt3sas: Fix crash in transport port remove by using ioc_info()
  2025-09-22  9:51 [PATCH v1 0/4] mpt3sas: Few Enhancements and minor fixes Ranjan Kumar
@ 2025-09-22  9:51 ` Ranjan Kumar
  2025-09-22  9:51 ` [PATCH v1 2/4] mpt3sas: suppress unnecessary IOCLogInfo on CONFIG_INVALID_PAGE Ranjan Kumar
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Ranjan Kumar @ 2025-09-22  9:51 UTC (permalink / raw)
  To: linux-scsi, martin.petersen
  Cc: sathya.prakash, chandrakanth.patil, prayas.patel, Ranjan Kumar

During mpt3sas_transport_port_remove(), messages were logged with
dev_printk() against &mpt3sas_port->port->dev. At this point the SAS
transport device may already be partially unregistered or freed, leading
to a crash when accessing its struct device.

Using ioc_info(), which logs via the PCI device (ioc->pdev->dev),
guaranteed to remain valid until driver removal.

[83428.295776] Oops: general protection fault, probably for non-canonical address 0x6f702f323a33312d: 0000 [#1] SMP NOPTI
[83428.295785] CPU: 145 UID: 0 PID: 113296 Comm: rmmod Kdump: loaded Tainted: G           OE       6.16.0-rc1+ #1 PREEMPT(voluntary)
[83428.295792] Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE
[83428.295795] Hardware name: Dell Inc. Precision 7875 Tower/, BIOS 89.1.67 02/23/2024
[83428.295799] RIP: 0010:__dev_printk+0x1f/0x70
[83428.295805] Code: 90 90 90 90 90 90 90 90 90 90 90 0f 1f 44 00 00 49 89 d1 48 85 f6 74 52 4c 8b 46 50 4d 85 c0 74 1f 48 8b 46 68 48 85 c0 74 22 <48> 8b 08 0f b6 7f 01 48 c7 c2 db e8 42 ad 83 ef 30 e9 7b f8 ff ff
[83428.295813] RSP: 0018:ff85aeafc3137bb0 EFLAGS: 00010206
[83428.295817] RAX: 6f702f323a33312d RBX: ff4290ee81292860 RCX: 5000cca25103be32
[83428.295820] RDX: ff85aeafc3137bb8 RSI: ff4290eeb1966c00 RDI: ffffffffc1560845
[83428.295823] RBP: ff85aeafc3137c18 R08: 74726f702f303a33 R09: ff85aeafc3137bb8
[83428.295826] R10: ff85aeafc3137b18 R11: ff4290f5bd60fe68 R12: ff4290ee81290000
[83428.295830] R13: ff4290ee6e345de0 R14: ff4290ee81290000 R15: ff4290ee6e345e30
[83428.295833] FS:  00007fd9472a6740(0000) GS:ff4290f5ce96b000(0000) knlGS:0000000000000000
[83428.295837] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[83428.295840] CR2: 00007f242b4db238 CR3: 00000002372b8006 CR4: 0000000000771ef0
[83428.295844] PKRU: 55555554
[83428.295846] Call Trace:
[83428.295848]  <TASK>
[83428.295850]  _dev_printk+0x5c/0x80
[83428.295857]  ? srso_alias_return_thunk+0x5/0xfbef5
[83428.295863]  mpt3sas_transport_port_remove+0x1c7/0x420 [mpt3sas]
[83428.295882]  _scsih_remove_device+0x21b/0x280 [mpt3sas]
[83428.295894]  ? _scsih_expander_node_remove+0x108/0x140 [mpt3sas]
[83428.295906]  ? srso_alias_return_thunk+0x5/0xfbef5
[83428.295910]  mpt3sas_device_remove_by_sas_address.part.0+0x8f/0x110 [mpt3sas]
[83428.295921]  _scsih_expander_node_remove+0x129/0x140 [mpt3sas]
[83428.295933]  _scsih_expander_node_remove+0x6a/0x140 [mpt3sas]
[83428.295944]  scsih_remove+0x3f0/0x4a0 [mpt3sas]
[83428.295957]  pci_device_remove+0x3b/0xb0
[83428.295962]  device_release_driver_internal+0x193/0x200
[83428.295968]  driver_detach+0x44/0x90
[83428.295971]  bus_remove_driver+0x69/0xf0
[83428.295975]  pci_unregister_driver+0x2a/0xb0
[83428.295979]  _mpt3sas_exit+0x1f/0x300 [mpt3sas]
[83428.295991]  __do_sys_delete_module.constprop.0+0x174/0x310
[83428.295997]  ? srso_alias_return_thunk+0x5/0xfbef5
[83428.296000]  ? __x64_sys_getdents64+0x9a/0x110
[83428.296005]  ? srso_alias_return_thunk+0x5/0xfbef5
[83428.296009]  ? syscall_trace_enter+0xf6/0x1b0
[83428.296014]  do_syscall_64+0x7b/0x2c0
[83428.296019]  ? srso_alias_return_thunk+0x5/0xfbef5
[83428.296023]  entry_SYSCALL_64_after_hwframe+0x76/0x7e

Fixes: f92363d12359 ("mpt3sas: add new driver supporting 12GB SAS")
Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com>
---
 drivers/scsi/mpt3sas/mpt3sas_transport.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/scsi/mpt3sas/mpt3sas_transport.c b/drivers/scsi/mpt3sas/mpt3sas_transport.c
index dc74ebc6405a..66fd301f03b0 100644
--- a/drivers/scsi/mpt3sas/mpt3sas_transport.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_transport.c
@@ -987,11 +987,9 @@ mpt3sas_transport_port_remove(struct MPT3SAS_ADAPTER *ioc, u64 sas_address,
 	list_for_each_entry_safe(mpt3sas_phy, next_phy,
 	    &mpt3sas_port->phy_list, port_siblings) {
 		if ((ioc->logging_level & MPT_DEBUG_TRANSPORT))
-			dev_printk(KERN_INFO, &mpt3sas_port->port->dev,
-			    "remove: sas_addr(0x%016llx), phy(%d)\n",
-			    (unsigned long long)
-			    mpt3sas_port->remote_identify.sas_address,
-			    mpt3sas_phy->phy_id);
+			ioc_info(ioc, "remove: sas_addr(0x%016llx), phy(%d)\n",
+				(unsigned long long) mpt3sas_port->remote_identify.sas_address,
+					mpt3sas_phy->phy_id);
 		mpt3sas_phy->phy_belongs_to_port = 0;
 		if (!ioc->remove_host)
 			sas_port_delete_phy(mpt3sas_port->port,
-- 
2.47.3


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v1 2/4] mpt3sas: suppress unnecessary IOCLogInfo on CONFIG_INVALID_PAGE
  2025-09-22  9:51 [PATCH v1 0/4] mpt3sas: Few Enhancements and minor fixes Ranjan Kumar
  2025-09-22  9:51 ` [PATCH v1 1/4] mpt3sas: Fix crash in transport port remove by using ioc_info() Ranjan Kumar
@ 2025-09-22  9:51 ` Ranjan Kumar
  2025-09-22  9:51 ` [PATCH v1 3/4] mpt3sas: Add support for 22.5 Gbps SAS link rate Ranjan Kumar
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Ranjan Kumar @ 2025-09-22  9:51 UTC (permalink / raw)
  To: linux-scsi, martin.petersen
  Cc: sathya.prakash, chandrakanth.patil, prayas.patel, Ranjan Kumar

Avoid unconditional IOCLogInfo prints for CONFIG_INVALID_PAGE.
Log only if MPT_DEBUG_REPLY is enabled or when loginfo
represents other errors. This reduces uncessary logging without losing
useful error reporting.

Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com>
---
 drivers/scsi/mpt3sas/mpt3sas_base.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas/mpt3sas_base.c
index bd3efa5b46c7..0d652db8fe24 100644
--- a/drivers/scsi/mpt3sas/mpt3sas_base.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_base.c
@@ -1420,7 +1420,13 @@ _base_display_reply_info(struct MPT3SAS_ADAPTER *ioc, u16 smid, u8 msix_index,
 
 	if (ioc_status & MPI2_IOCSTATUS_FLAG_LOG_INFO_AVAILABLE) {
 		loginfo = le32_to_cpu(mpi_reply->IOCLogInfo);
-		_base_sas_log_info(ioc, loginfo);
+		if (ioc->logging_level & MPT_DEBUG_REPLY)
+			_base_sas_log_info(ioc, loginfo);
+		else {
+			if (!((ioc_status & MPI2_IOCSTATUS_MASK) &
+			MPI2_IOCSTATUS_CONFIG_INVALID_PAGE))
+				_base_sas_log_info(ioc, loginfo);
+		}
 	}
 
 	if (ioc_status || loginfo) {
-- 
2.47.3


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v1 3/4] mpt3sas: Add support for 22.5 Gbps SAS link rate
  2025-09-22  9:51 [PATCH v1 0/4] mpt3sas: Few Enhancements and minor fixes Ranjan Kumar
  2025-09-22  9:51 ` [PATCH v1 1/4] mpt3sas: Fix crash in transport port remove by using ioc_info() Ranjan Kumar
  2025-09-22  9:51 ` [PATCH v1 2/4] mpt3sas: suppress unnecessary IOCLogInfo on CONFIG_INVALID_PAGE Ranjan Kumar
@ 2025-09-22  9:51 ` Ranjan Kumar
  2025-09-22  9:51 ` [PATCH v1 4/4] mpt3sas: update driver version to 54.100.00.00 Ranjan Kumar
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Ranjan Kumar @ 2025-09-22  9:51 UTC (permalink / raw)
  To: linux-scsi, martin.petersen
  Cc: sathya.prakash, chandrakanth.patil, prayas.patel, Ranjan Kumar

Add handling for MPI26_SAS_NEG_LINK_RATE_22_5 in
_transport_convert_phy_link_rate(). This maps the new
22.5 Gbps negotiated rate to SAS_LINK_RATE_22_5_GBPS,
to get correct PHY link speeds.

Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com>
---
 drivers/scsi/mpt3sas/mpt3sas_transport.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/scsi/mpt3sas/mpt3sas_transport.c b/drivers/scsi/mpt3sas/mpt3sas_transport.c
index 66fd301f03b0..f3400d01cc2a 100644
--- a/drivers/scsi/mpt3sas/mpt3sas_transport.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_transport.c
@@ -166,6 +166,9 @@ _transport_convert_phy_link_rate(u8 link_rate)
 	case MPI25_SAS_NEG_LINK_RATE_12_0:
 		rc = SAS_LINK_RATE_12_0_GBPS;
 		break;
+	case MPI26_SAS_NEG_LINK_RATE_22_5:
+		rc = SAS_LINK_RATE_22_5_GBPS;
+		break;
 	case MPI2_SAS_NEG_LINK_RATE_PHY_DISABLED:
 		rc = SAS_PHY_DISABLED;
 		break;
-- 
2.47.3


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v1 4/4] mpt3sas: update driver version to 54.100.00.00
  2025-09-22  9:51 [PATCH v1 0/4] mpt3sas: Few Enhancements and minor fixes Ranjan Kumar
                   ` (2 preceding siblings ...)
  2025-09-22  9:51 ` [PATCH v1 3/4] mpt3sas: Add support for 22.5 Gbps SAS link rate Ranjan Kumar
@ 2025-09-22  9:51 ` Ranjan Kumar
  2025-09-25  2:36 ` [PATCH v1 0/4] mpt3sas: Few Enhancements and minor fixes Martin K. Petersen
  2025-09-30  2:36 ` Martin K. Petersen
  5 siblings, 0 replies; 7+ messages in thread
From: Ranjan Kumar @ 2025-09-22  9:51 UTC (permalink / raw)
  To: linux-scsi, martin.petersen
  Cc: sathya.prakash, chandrakanth.patil, prayas.patel, Ranjan Kumar

Updated driver version to 54.100.00.00

Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com>
---
 drivers/scsi/mpt3sas/mpt3sas_base.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.h b/drivers/scsi/mpt3sas/mpt3sas_base.h
index 939141cde3ca..e6a6f21d309b 100644
--- a/drivers/scsi/mpt3sas/mpt3sas_base.h
+++ b/drivers/scsi/mpt3sas/mpt3sas_base.h
@@ -77,8 +77,8 @@
 #define MPT3SAS_DRIVER_NAME		"mpt3sas"
 #define MPT3SAS_AUTHOR "Avago Technologies <MPT-FusionLinux.pdl@avagotech.com>"
 #define MPT3SAS_DESCRIPTION	"LSI MPT Fusion SAS 3.0 Device Driver"
-#define MPT3SAS_DRIVER_VERSION		"52.100.00.00"
-#define MPT3SAS_MAJOR_VERSION		52
+#define MPT3SAS_DRIVER_VERSION		"54.100.00.00"
+#define MPT3SAS_MAJOR_VERSION		54
 #define MPT3SAS_MINOR_VERSION		100
 #define MPT3SAS_BUILD_VERSION		00
 #define MPT3SAS_RELEASE_VERSION		00
-- 
2.47.3


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v1 0/4] mpt3sas: Few Enhancements and minor fixes
  2025-09-22  9:51 [PATCH v1 0/4] mpt3sas: Few Enhancements and minor fixes Ranjan Kumar
                   ` (3 preceding siblings ...)
  2025-09-22  9:51 ` [PATCH v1 4/4] mpt3sas: update driver version to 54.100.00.00 Ranjan Kumar
@ 2025-09-25  2:36 ` Martin K. Petersen
  2025-09-30  2:36 ` Martin K. Petersen
  5 siblings, 0 replies; 7+ messages in thread
From: Martin K. Petersen @ 2025-09-25  2:36 UTC (permalink / raw)
  To: Ranjan Kumar
  Cc: linux-scsi, martin.petersen, sathya.prakash, chandrakanth.patil,
	prayas.patel


Ranjan,

> Few Enhancements and minor fixes of mpt3sas driver.

Applied to 6.18/scsi-staging, thanks!

-- 
Martin K. Petersen

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v1 0/4] mpt3sas: Few Enhancements and minor fixes
  2025-09-22  9:51 [PATCH v1 0/4] mpt3sas: Few Enhancements and minor fixes Ranjan Kumar
                   ` (4 preceding siblings ...)
  2025-09-25  2:36 ` [PATCH v1 0/4] mpt3sas: Few Enhancements and minor fixes Martin K. Petersen
@ 2025-09-30  2:36 ` Martin K. Petersen
  5 siblings, 0 replies; 7+ messages in thread
From: Martin K. Petersen @ 2025-09-30  2:36 UTC (permalink / raw)
  To: linux-scsi, Ranjan Kumar
  Cc: Martin K . Petersen, sathya.prakash, chandrakanth.patil,
	prayas.patel

On Mon, 22 Sep 2025 15:21:09 +0530, Ranjan Kumar wrote:

> Few Enhancements and minor fixes of mpt3sas driver.
> 
> Ranjan Kumar (4):
>   mpt3sas: Fix crash in transport port remove by using ioc_info()
>   mpt3sas: suppress unnecessary IOCLogInfo on CONFIG_INVALID_PAGE
>   mpt3sas: Add support for 22.5 Gbps SAS link rate
>   mpt3sas: update driver version to 54.100.00.00
> 
> [...]

Applied to 6.18/scsi-queue, thanks!

[1/4] mpt3sas: Fix crash in transport port remove by using ioc_info()
      https://git.kernel.org/mkp/scsi/c/1703fe4f8ae5
[2/4] mpt3sas: suppress unnecessary IOCLogInfo on CONFIG_INVALID_PAGE
      https://git.kernel.org/mkp/scsi/c/27f0b41de105
[3/4] mpt3sas: Add support for 22.5 Gbps SAS link rate
      https://git.kernel.org/mkp/scsi/c/4be7599d6b27
[4/4] mpt3sas: update driver version to 54.100.00.00
      https://git.kernel.org/mkp/scsi/c/7e5a43897aa3

-- 
Martin K. Petersen

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2025-09-30  2:37 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-22  9:51 [PATCH v1 0/4] mpt3sas: Few Enhancements and minor fixes Ranjan Kumar
2025-09-22  9:51 ` [PATCH v1 1/4] mpt3sas: Fix crash in transport port remove by using ioc_info() Ranjan Kumar
2025-09-22  9:51 ` [PATCH v1 2/4] mpt3sas: suppress unnecessary IOCLogInfo on CONFIG_INVALID_PAGE Ranjan Kumar
2025-09-22  9:51 ` [PATCH v1 3/4] mpt3sas: Add support for 22.5 Gbps SAS link rate Ranjan Kumar
2025-09-22  9:51 ` [PATCH v1 4/4] mpt3sas: update driver version to 54.100.00.00 Ranjan Kumar
2025-09-25  2:36 ` [PATCH v1 0/4] mpt3sas: Few Enhancements and minor fixes Martin K. Petersen
2025-09-30  2:36 ` Martin K. Petersen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox