2021-07-13 21:04:06

by Don Brace

[permalink] [raw]
Subject: [smartpqi updates V2 PATCH 0/9] smartpqi updates

These patches are based on Martin Peterson's 5.14/scsi-queue tree
https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
5.14/scsi-queue

Most of these patches consist of adding new PCI devices. The remainder
are simple updates to correct some rare issues and clean up some
driver messages.

This set of changes consist of:
* Add in new PCI-IDs.
5 of these patches are adding in new PCI-IDs.
* Update copyright information.
* Enhance reset messages.
- Add SCSI command CDB[0] value to message.
- Also check for a 0 length SCSI command that can occur if
sg_reset is issued without any outstanding SCSI commands.
* Clean up a rare initialization issue where interrupts are
enabled before the supporting controller context has been
fully initialized. Found by internal testing only.
* Update the driver version to 2.1.10-020

Change since V1:
Changes resulting from Paul Menzel <[email protected]>
review:
* Renamed some PCI-ID patches to reflect controller name
* Renamed patch smartpqi: fix isr accessing null structure member
to smartpqi: fix isr accessing uninitialized data
* Split copyright patch. Removed driver name updates and placed
them in a separate patch.
* Removed patch ("smartpqi: rm unsupported controller features msgs")
May remove them in a future patch.


Balsundar P (1):
smartpqi: add PCI IDs for new ZTE controllers

Don Brace (3):
smartpqi: change driver module MACROS to microchip
smartpqi: change Kconfig menu entry to microchip
smartpqi: update version to 2.1.10-020

Kevin Barnett (1):
smartpqi: update copyright notices

Mahesh Rajashekhara (1):
smartpqi: add pci ids for H3C P4408 controllers

Mike McGowen (2):
smartpqi: add PCI-ID for new ntcom controller
smartpqi: fix isr accessing uninitialized data

Murthy Bhat (1):
smartpqi: add SCSI cmd info for resets

drivers/scsi/smartpqi/Kconfig | 8 +--
drivers/scsi/smartpqi/smartpqi.h | 6 +-
drivers/scsi/smartpqi/smartpqi_init.c | 64 +++++++++++++++----
.../scsi/smartpqi/smartpqi_sas_transport.c | 4 +-
drivers/scsi/smartpqi/smartpqi_sis.c | 4 +-
drivers/scsi/smartpqi/smartpqi_sis.h | 4 +-
6 files changed, 64 insertions(+), 26 deletions(-)

--
2.28.0.rc1.9.ge7ae437ac1


2021-07-13 21:04:18

by Don Brace

[permalink] [raw]
Subject: [smartpqi updates V2 PATCH 3/9] smartpqi: change driver module MACROS to microchip

Change driver module MACROS to reflect copyright changes.
- Microsemi to Microchip.
---
drivers/scsi/smartpqi/smartpqi_init.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
index 6ce17a191c0b..29382b290243 100644
--- a/drivers/scsi/smartpqi/smartpqi_init.c
+++ b/drivers/scsi/smartpqi/smartpqi_init.c
@@ -39,7 +39,7 @@
#define DRIVER_RELEASE 8
#define DRIVER_REVISION 45

-#define DRIVER_NAME "Microsemi PQI Driver (v" \
+#define DRIVER_NAME "Microchip SmartPQI Driver (v" \
DRIVER_VERSION BUILD_TIMESTAMP ")"
#define DRIVER_NAME_SHORT "smartpqi"

@@ -48,8 +48,8 @@
#define PQI_POST_RESET_DELAY_SECS 5
#define PQI_POST_OFA_RESET_DELAY_UPON_TIMEOUT_SECS 10

-MODULE_AUTHOR("Microsemi");
-MODULE_DESCRIPTION("Driver for Microsemi Smart Family Controller version "
+MODULE_AUTHOR("Microchip");
+MODULE_DESCRIPTION("Driver for Microchip Smart Family Controller version "
DRIVER_VERSION);
MODULE_VERSION(DRIVER_VERSION);
MODULE_LICENSE("GPL");
@@ -8451,7 +8451,7 @@ static void pqi_print_ctrl_info(struct pci_dev *pci_dev,
if (id->driver_data)
ctrl_description = (char *)id->driver_data;
else
- ctrl_description = "Microsemi Smart Family Controller";
+ ctrl_description = "Microchip Smart Family Controller";

dev_info(&pci_dev->dev, "%s found\n", ctrl_description);
}
--
2.28.0.rc1.9.ge7ae437ac1

2021-07-13 21:04:22

by Don Brace

[permalink] [raw]
Subject: [smartpqi updates V2 PATCH 1/9] smartpqi: add pci ids for H3C P4408 controllers

From: Mahesh Rajashekhara <[email protected]>

Add support for H3C P4408-Ma-8i-2GB device ID
VID_9005, DID_028F, SVID_193D and SDID_1108
VID_9005, DID_028F, SVID_193D and SDID_1109

Reviewed-by: Kevin Barnett <[email protected]>
Reviewed-by: Mike McGowen <[email protected]>
Reviewed-by: Murthy Bhat <[email protected]>
Reviewed-by: Scott Benesh <[email protected]>
Reviewed-by: Scott Teel <[email protected]>
Signed-off-by: Mahesh Rajashekhara <[email protected]>
Signed-off-by: Don Brace <[email protected]>
---
drivers/scsi/smartpqi/smartpqi_init.c | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
index dcc0b9618a64..64ea4650ca10 100644
--- a/drivers/scsi/smartpqi/smartpqi_init.c
+++ b/drivers/scsi/smartpqi/smartpqi_init.c
@@ -8711,6 +8711,14 @@ static const struct pci_device_id pqi_pci_id_table[] = {
PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
0x193d, 0x1107)
},
+ {
+ PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
+ 0x193d, 0x1108)
+ },
+ {
+ PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
+ 0x193d, 0x1109)
+ },
{
PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
0x193d, 0x8460)
--
2.28.0.rc1.9.ge7ae437ac1

2021-07-13 21:04:49

by Don Brace

[permalink] [raw]
Subject: [smartpqi updates V2 PATCH 8/9] smartpqi: fix isr accessing uninitialized data

From: Mike McGowen <[email protected]>

Correct driver's ISR accessing a data structure member
that has not been fully initialized during driver
initialization.
- The pqi queue groups can have uninitialized members
when an interrupt fires. This has not resulted in
any driver crashes. This was found during our own
internal testing. No bugs were ever filed.

Reviewed-by: Kevin Barnett <[email protected]>
Reviewed-by: Scott Benesh <[email protected]>
Reviewed-by: Scott Teel <[email protected]>
Signed-off-by: Mike McGowen <[email protected]>
Signed-off-by: Don Brace <[email protected]>
---
drivers/scsi/smartpqi/smartpqi_init.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
index f0e84354f782..ab1c9c483478 100644
--- a/drivers/scsi/smartpqi/smartpqi_init.c
+++ b/drivers/scsi/smartpqi/smartpqi_init.c
@@ -7760,11 +7760,11 @@ static int pqi_ctrl_init(struct pqi_ctrl_info *ctrl_info)

pqi_init_operational_queues(ctrl_info);

- rc = pqi_request_irqs(ctrl_info);
+ rc = pqi_create_queues(ctrl_info);
if (rc)
return rc;

- rc = pqi_create_queues(ctrl_info);
+ rc = pqi_request_irqs(ctrl_info);
if (rc)
return rc;

--
2.28.0.rc1.9.ge7ae437ac1

2021-07-13 21:05:08

by Don Brace

[permalink] [raw]
Subject: [smartpqi updates V2 PATCH 7/9] smartpqi: add PCI IDs for new ZTE controllers

From: Balsundar P <[email protected]>

Added support for ZTE RM241-18i 2G device ID.
VID_9005, DID_028F, SVID_1CF2 and SDID_5445

Added support for ZTE RM242-18i 4G device ID.
VID_9005, DID_028F, SVID_1CF2 and SDID_5446

Added support for ZTE RM243-18i device ID.
VID_9005, DID_028F, SVID_1CF2 and SDID_5447

Added support for ZTE SDPSA/B-18i 4G device ID.
VID_9005, DID_028F, SVID_1CF2 and SDID_0B27

Added support for ZTE SDPSA/B_I-18i device ID.
VID_9005, DID_028F, SVID_1CF2 and SDID_0B29

Added support for ZTE SDPSA/B_L-18i 2G device ID.
VID_9005, DID_028F, SVID_1CF2 and SDID_0B45

Reviewed-by: Kevin Barnett <[email protected]>
Reviewed-by: Mike McGowen <[email protected]>
Reviewed-by: Scott Benesh <[email protected]>
Reviewed-by: Scott Teel <[email protected]>
Signed-off-by: Balsundar P <[email protected]>
Signed-off-by: Don Brace <[email protected]>
---
drivers/scsi/smartpqi/smartpqi_init.c | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
index c0b181ba795c..f0e84354f782 100644
--- a/drivers/scsi/smartpqi/smartpqi_init.c
+++ b/drivers/scsi/smartpqi/smartpqi_init.c
@@ -9185,6 +9185,30 @@ static const struct pci_device_id pqi_pci_id_table[] = {
PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
0x1dfc, 0x3161)
},
+ {
+ PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
+ 0x1cf2, 0x5445)
+ },
+ {
+ PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
+ 0x1cf2, 0x5446)
+ },
+ {
+ PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
+ 0x1cf2, 0x5447)
+ },
+ {
+ PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
+ 0x1cf2, 0x0b27)
+ },
+ {
+ PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
+ 0x1cf2, 0x0b29)
+ },
+ {
+ PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
+ 0x1cf2, 0x0b45)
+ },
{
PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
PCI_ANY_ID, PCI_ANY_ID)
--
2.28.0.rc1.9.ge7ae437ac1

2021-07-13 21:05:40

by Don Brace

[permalink] [raw]
Subject: [smartpqi updates V2 PATCH 9/9] smartpqi: update version to 2.1.10-020

Reviewed-by: Kevin Barnett <[email protected]>
Reviewed-by: Mike McGowen <[email protected]>
Reviewed-by: Scott Benesh <[email protected]>
Reviewed-by: Scott Teel <[email protected]>
Reviewed-by: Gerry Morong <[email protected]>
Signed-off-by: Don Brace <[email protected]>
---
drivers/scsi/smartpqi/smartpqi_init.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
index ab1c9c483478..c1f0f8da9fe2 100644
--- a/drivers/scsi/smartpqi/smartpqi_init.c
+++ b/drivers/scsi/smartpqi/smartpqi_init.c
@@ -33,11 +33,11 @@
#define BUILD_TIMESTAMP
#endif

-#define DRIVER_VERSION "2.1.8-045"
+#define DRIVER_VERSION "2.1.10-020"
#define DRIVER_MAJOR 2
#define DRIVER_MINOR 1
-#define DRIVER_RELEASE 8
-#define DRIVER_REVISION 45
+#define DRIVER_RELEASE 10
+#define DRIVER_REVISION 20

#define DRIVER_NAME "Microchip SmartPQI Driver (v" \
DRIVER_VERSION BUILD_TIMESTAMP ")"
--
2.28.0.rc1.9.ge7ae437ac1

2021-07-13 21:05:51

by Don Brace

[permalink] [raw]
Subject: [smartpqi updates V2 PATCH 6/9] smartpqi: add PCI-ID for new ntcom controller

From: Mike McGowen <[email protected]>

Add support for Norsi ntcom Raid-24i controller
VID_0x9005, DID_0x028f, SVID_0x1dfc, SDID_0x3161

Reviewed-by: Kevin Barnett <[email protected]>
Reviewed-by: Scott Benesh <[email protected]>
Reviewed-by: Scott Teel <[email protected]>
Signed-off-by: Mike McGowen <[email protected]>
Signed-off-by: Don Brace <[email protected]>
---
drivers/scsi/smartpqi/smartpqi_init.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
index ffc7ca221e27..c0b181ba795c 100644
--- a/drivers/scsi/smartpqi/smartpqi_init.c
+++ b/drivers/scsi/smartpqi/smartpqi_init.c
@@ -9181,6 +9181,10 @@ static const struct pci_device_id pqi_pci_id_table[] = {
PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
PCI_VENDOR_ID_GIGABYTE, 0x1000)
},
+ {
+ PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
+ 0x1dfc, 0x3161)
+ },
{
PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
PCI_ANY_ID, PCI_ANY_ID)
--
2.28.0.rc1.9.ge7ae437ac1

2021-07-13 21:06:11

by Don Brace

[permalink] [raw]
Subject: [smartpqi updates V2 PATCH 5/9] smartpqi: add SCSI cmd info for resets

From: Murthy Bhat <[email protected]>

Report on SCSI command that has triggered the reset.
- Also add check for NULL SCSI commands resulting from
issuing sg_reset when there is no outstanding commands.

Example:
sg_reset -d /dev/sgXY
smartpqi 0000:39:00.0: resetting scsi 4:0:1:0 due to cmd 0x12

Reviewed-by: Kevin Barnett <[email protected]>
Reviewed-by: Mike McGowen <[email protected]>
Reviewed-by: Scott Benesh <[email protected]>
Reviewed-by: Scott Teel <[email protected]>
Signed-off-by: Murthy Bhat <[email protected]>
Signed-off-by: Don Brace <[email protected]>
---
drivers/scsi/smartpqi/smartpqi_init.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
index 29382b290243..ffc7ca221e27 100644
--- a/drivers/scsi/smartpqi/smartpqi_init.c
+++ b/drivers/scsi/smartpqi/smartpqi_init.c
@@ -6033,8 +6033,10 @@ static int pqi_eh_device_reset_handler(struct scsi_cmnd *scmd)
mutex_lock(&ctrl_info->lun_reset_mutex);

dev_err(&ctrl_info->pci_dev->dev,
- "resetting scsi %d:%d:%d:%d\n",
- shost->host_no, device->bus, device->target, device->lun);
+ "resetting scsi %d:%d:%d:%d due to cmd 0x%02x\n",
+ shost->host_no,
+ device->bus, device->target, device->lun,
+ scmd->cmd_len > 0 ? scmd->cmnd[0] : 0xff);

pqi_check_ctrl_health(ctrl_info);
if (pqi_ctrl_offline(ctrl_info))
--
2.28.0.rc1.9.ge7ae437ac1

2021-07-14 01:15:26

by John Donnelly

[permalink] [raw]
Subject: Re: [smartpqi updates V2 PATCH 1/9] smartpqi: add pci ids for H3C P4408 controllers

On 7/13/21 4:02 PM, Don Brace wrote:
> From: Mahesh Rajashekhara <[email protected]>
>
> Add support for H3C P4408-Ma-8i-2GB device ID
> VID_9005, DID_028F, SVID_193D and SDID_1108
> VID_9005, DID_028F, SVID_193D and SDID_1109
>
> Reviewed-by: Kevin Barnett <[email protected]>
> Reviewed-by: Mike McGowen <[email protected]>
> Reviewed-by: Murthy Bhat <[email protected]>
> Reviewed-by: Scott Benesh <[email protected]>
> Reviewed-by: Scott Teel <[email protected]>
> Signed-off-by: Mahesh Rajashekhara <[email protected]>
> Signed-off-by: Don Brace <[email protected]>

John Donnelly <[email protected]>

> ---
> drivers/scsi/smartpqi/smartpqi_init.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
> index dcc0b9618a64..64ea4650ca10 100644
> --- a/drivers/scsi/smartpqi/smartpqi_init.c
> +++ b/drivers/scsi/smartpqi/smartpqi_init.c
> @@ -8711,6 +8711,14 @@ static const struct pci_device_id pqi_pci_id_table[] = {
> PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> 0x193d, 0x1107)
> },
> + {
> + PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> + 0x193d, 0x1108)
> + },
> + {
> + PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> + 0x193d, 0x1109)
> + },
> {
> PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> 0x193d, 0x8460)
>

2021-07-14 01:16:18

by John Donnelly

[permalink] [raw]
Subject: Re: [smartpqi updates V2 PATCH 5/9] smartpqi: add SCSI cmd info for resets

On 7/13/21 4:02 PM, Don Brace wrote:
> From: Murthy Bhat <[email protected]>
>
> Report on SCSI command that has triggered the reset.
> - Also add check for NULL SCSI commands resulting from
> issuing sg_reset when there is no outstanding commands.
>
> Example:
> sg_reset -d /dev/sgXY
> smartpqi 0000:39:00.0: resetting scsi 4:0:1:0 due to cmd 0x12
>
> Reviewed-by: Kevin Barnett <[email protected]>
> Reviewed-by: Mike McGowen <[email protected]>
> Reviewed-by: Scott Benesh <[email protected]>
> Reviewed-by: Scott Teel <[email protected]>
> Signed-off-by: Murthy Bhat <[email protected]>
> Signed-off-by: Don Brace <[email protected]>

John Donnelly <[email protected]>

> ---
> drivers/scsi/smartpqi/smartpqi_init.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
> index 29382b290243..ffc7ca221e27 100644
> --- a/drivers/scsi/smartpqi/smartpqi_init.c
> +++ b/drivers/scsi/smartpqi/smartpqi_init.c
> @@ -6033,8 +6033,10 @@ static int pqi_eh_device_reset_handler(struct scsi_cmnd *scmd)
> mutex_lock(&ctrl_info->lun_reset_mutex);
>
> dev_err(&ctrl_info->pci_dev->dev,
> - "resetting scsi %d:%d:%d:%d\n",
> - shost->host_no, device->bus, device->target, device->lun);
> + "resetting scsi %d:%d:%d:%d due to cmd 0x%02x\n",
> + shost->host_no,
> + device->bus, device->target, device->lun,
> + scmd->cmd_len > 0 ? scmd->cmnd[0] : 0xff);
>
> pqi_check_ctrl_health(ctrl_info);
> if (pqi_ctrl_offline(ctrl_info))
>

2021-07-14 01:17:19

by John Donnelly

[permalink] [raw]
Subject: Re: [smartpqi updates V2 PATCH 7/9] smartpqi: add PCI IDs for new ZTE controllers

On 7/13/21 4:02 PM, Don Brace wrote:
> From: Balsundar P <[email protected]>
>
> Added support for ZTE RM241-18i 2G device ID.
> VID_9005, DID_028F, SVID_1CF2 and SDID_5445
>
> Added support for ZTE RM242-18i 4G device ID.
> VID_9005, DID_028F, SVID_1CF2 and SDID_5446
>
> Added support for ZTE RM243-18i device ID.
> VID_9005, DID_028F, SVID_1CF2 and SDID_5447
>
> Added support for ZTE SDPSA/B-18i 4G device ID.
> VID_9005, DID_028F, SVID_1CF2 and SDID_0B27
>
> Added support for ZTE SDPSA/B_I-18i device ID.
> VID_9005, DID_028F, SVID_1CF2 and SDID_0B29
>
> Added support for ZTE SDPSA/B_L-18i 2G device ID.
> VID_9005, DID_028F, SVID_1CF2 and SDID_0B45
>
> Reviewed-by: Kevin Barnett <[email protected]>
> Reviewed-by: Mike McGowen <[email protected]>
> Reviewed-by: Scott Benesh <[email protected]>
> Reviewed-by: Scott Teel <[email protected]>
> Signed-off-by: Balsundar P <[email protected]>
> Signed-off-by: Don Brace <[email protected]>

John Donnelly <[email protected]>
> ---
> drivers/scsi/smartpqi/smartpqi_init.c | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
> index c0b181ba795c..f0e84354f782 100644
> --- a/drivers/scsi/smartpqi/smartpqi_init.c
> +++ b/drivers/scsi/smartpqi/smartpqi_init.c
> @@ -9185,6 +9185,30 @@ static const struct pci_device_id pqi_pci_id_table[] = {
> PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> 0x1dfc, 0x3161)
> },
> + {
> + PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> + 0x1cf2, 0x5445)
> + },
> + {
> + PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> + 0x1cf2, 0x5446)
> + },
> + {
> + PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> + 0x1cf2, 0x5447)
> + },
> + {
> + PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> + 0x1cf2, 0x0b27)
> + },
> + {
> + PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> + 0x1cf2, 0x0b29)
> + },
> + {
> + PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> + 0x1cf2, 0x0b45)
> + },
> {
> PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> PCI_ANY_ID, PCI_ANY_ID)
>

2021-07-14 01:18:56

by John Donnelly

[permalink] [raw]
Subject: Re: [smartpqi updates V2 PATCH 8/9] smartpqi: fix isr accessing uninitialized data

On 7/13/21 4:02 PM, Don Brace wrote:
> From: Mike McGowen <[email protected]>
>
> Correct driver's ISR accessing a data structure member
> that has not been fully initialized during driver
> initialization.
> - The pqi queue groups can have uninitialized members
> when an interrupt fires. This has not resulted in
> any driver crashes. This was found during our own
> internal testing. No bugs were ever filed.
>
> Reviewed-by: Kevin Barnett <[email protected]>
> Reviewed-by: Scott Benesh <[email protected]>
> Reviewed-by: Scott Teel <[email protected]>
> Signed-off-by: Mike McGowen <[email protected]>
> Signed-off-by: Don Brace <[email protected]>


Acked-by : John Donnelly <[email protected]>

> ---
> drivers/scsi/smartpqi/smartpqi_init.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
> index f0e84354f782..ab1c9c483478 100644
> --- a/drivers/scsi/smartpqi/smartpqi_init.c
> +++ b/drivers/scsi/smartpqi/smartpqi_init.c
> @@ -7760,11 +7760,11 @@ static int pqi_ctrl_init(struct pqi_ctrl_info *ctrl_info)
>
> pqi_init_operational_queues(ctrl_info);
>
> - rc = pqi_request_irqs(ctrl_info);
> + rc = pqi_create_queues(ctrl_info);
> if (rc)
> return rc;
>
> - rc = pqi_create_queues(ctrl_info);
> + rc = pqi_request_irqs(ctrl_info);
> if (rc)
> return rc;
>
>

2021-07-14 01:19:12

by John Donnelly

[permalink] [raw]
Subject: Re: [smartpqi updates V2 PATCH 9/9] smartpqi: update version to 2.1.10-020

On 7/13/21 4:02 PM, Don Brace wrote:
> Reviewed-by: Kevin Barnett <[email protected]>
> Reviewed-by: Mike McGowen <[email protected]>
> Reviewed-by: Scott Benesh <[email protected]>
> Reviewed-by: Scott Teel <[email protected]>
> Reviewed-by: Gerry Morong <[email protected]>
> Signed-off-by: Don Brace <[email protected]>

Acked-by : John Donnelly <[email protected]>

> ---
> drivers/scsi/smartpqi/smartpqi_init.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
> index ab1c9c483478..c1f0f8da9fe2 100644
> --- a/drivers/scsi/smartpqi/smartpqi_init.c
> +++ b/drivers/scsi/smartpqi/smartpqi_init.c
> @@ -33,11 +33,11 @@
> #define BUILD_TIMESTAMP
> #endif
>
> -#define DRIVER_VERSION "2.1.8-045"
> +#define DRIVER_VERSION "2.1.10-020"
> #define DRIVER_MAJOR 2
> #define DRIVER_MINOR 1
> -#define DRIVER_RELEASE 8
> -#define DRIVER_REVISION 45
> +#define DRIVER_RELEASE 10
> +#define DRIVER_REVISION 20
>
> #define DRIVER_NAME "Microchip SmartPQI Driver (v" \
> DRIVER_VERSION BUILD_TIMESTAMP ")"
>

2021-07-14 01:19:38

by John Donnelly

[permalink] [raw]
Subject: Re: [smartpqi updates V2 PATCH 6/9] smartpqi: add PCI-ID for new ntcom controller

On 7/13/21 4:02 PM, Don Brace wrote:
> From: Mike McGowen <[email protected]>
>
> Add support for Norsi ntcom Raid-24i controller
> VID_0x9005, DID_0x028f, SVID_0x1dfc, SDID_0x3161
>
> Reviewed-by: Kevin Barnett <[email protected]>
> Reviewed-by: Scott Benesh <[email protected]>
> Reviewed-by: Scott Teel <[email protected]>
> Signed-off-by: Mike McGowen <[email protected]>
> Signed-off-by: Don Brace <[email protected]>

John Donnelly <[email protected]>
> ---
> drivers/scsi/smartpqi/smartpqi_init.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
> index ffc7ca221e27..c0b181ba795c 100644
> --- a/drivers/scsi/smartpqi/smartpqi_init.c
> +++ b/drivers/scsi/smartpqi/smartpqi_init.c
> @@ -9181,6 +9181,10 @@ static const struct pci_device_id pqi_pci_id_table[] = {
> PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> PCI_VENDOR_ID_GIGABYTE, 0x1000)
> },
> + {
> + PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> + 0x1dfc, 0x3161)
> + },
> {
> PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> PCI_ANY_ID, PCI_ANY_ID)
>

2021-07-14 01:22:54

by John Donnelly

[permalink] [raw]
Subject: Re: [smartpqi updates V2 PATCH 6/9] smartpqi: add PCI-ID for new ntcom controller

On 7/13/21 4:02 PM, Don Brace wrote:
> From: Mike McGowen <[email protected]>
>
> Add support for Norsi ntcom Raid-24i controller
> VID_0x9005, DID_0x028f, SVID_0x1dfc, SDID_0x3161
>
> Reviewed-by: Kevin Barnett <[email protected]>
> Reviewed-by: Scott Benesh <[email protected]>
> Reviewed-by: Scott Teel <[email protected]>
> Signed-off-by: Mike McGowen <[email protected]>
> Signed-off-by: Don Brace <[email protected]>


Acked-by: John Donnelly <[email protected]>


> ---
> drivers/scsi/smartpqi/smartpqi_init.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
> index ffc7ca221e27..c0b181ba795c 100644
> --- a/drivers/scsi/smartpqi/smartpqi_init.c
> +++ b/drivers/scsi/smartpqi/smartpqi_init.c
> @@ -9181,6 +9181,10 @@ static const struct pci_device_id pqi_pci_id_table[] = {
> PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> PCI_VENDOR_ID_GIGABYTE, 0x1000)
> },
> + {
> + PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> + 0x1dfc, 0x3161)
> + },
> {
> PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> PCI_ANY_ID, PCI_ANY_ID)
>

2021-07-14 01:25:15

by John Donnelly

[permalink] [raw]
Subject: Re: [smartpqi updates V2 PATCH 5/9] smartpqi: add SCSI cmd info for resets

On 7/13/21 4:02 PM, Don Brace wrote:
> From: Murthy Bhat <[email protected]>
>
> Report on SCSI command that has triggered the reset.
> - Also add check for NULL SCSI commands resulting from
> issuing sg_reset when there is no outstanding commands.
>
> Example:
> sg_reset -d /dev/sgXY
> smartpqi 0000:39:00.0: resetting scsi 4:0:1:0 due to cmd 0x12
>
> Reviewed-by: Kevin Barnett <[email protected]>
> Reviewed-by: Mike McGowen <[email protected]>
> Reviewed-by: Scott Benesh <[email protected]>
> Reviewed-by: Scott Teel <[email protected]>
> Signed-off-by: Murthy Bhat <[email protected]>
> Signed-off-by: Don Brace <[email protected]>


Acked-by: John Donnelly <[email protected]>

> ---
> drivers/scsi/smartpqi/smartpqi_init.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
> index 29382b290243..ffc7ca221e27 100644
> --- a/drivers/scsi/smartpqi/smartpqi_init.c
> +++ b/drivers/scsi/smartpqi/smartpqi_init.c
> @@ -6033,8 +6033,10 @@ static int pqi_eh_device_reset_handler(struct scsi_cmnd *scmd)
> mutex_lock(&ctrl_info->lun_reset_mutex);
>
> dev_err(&ctrl_info->pci_dev->dev,
> - "resetting scsi %d:%d:%d:%d\n",
> - shost->host_no, device->bus, device->target, device->lun);
> + "resetting scsi %d:%d:%d:%d due to cmd 0x%02x\n",
> + shost->host_no,
> + device->bus, device->target, device->lun,
> + scmd->cmd_len > 0 ? scmd->cmnd[0] : 0xff);
>
> pqi_check_ctrl_health(ctrl_info);
> if (pqi_ctrl_offline(ctrl_info))
>

2021-07-14 01:26:15

by John Donnelly

[permalink] [raw]
Subject: Re: [smartpqi updates V2 PATCH 7/9] smartpqi: add PCI IDs for new ZTE controllers

On 7/13/21 4:02 PM, Don Brace wrote:
> From: Balsundar P <[email protected]>
>
> Added support for ZTE RM241-18i 2G device ID.
> VID_9005, DID_028F, SVID_1CF2 and SDID_5445
>
> Added support for ZTE RM242-18i 4G device ID.
> VID_9005, DID_028F, SVID_1CF2 and SDID_5446
>
> Added support for ZTE RM243-18i device ID.
> VID_9005, DID_028F, SVID_1CF2 and SDID_5447
>
> Added support for ZTE SDPSA/B-18i 4G device ID.
> VID_9005, DID_028F, SVID_1CF2 and SDID_0B27
>
> Added support for ZTE SDPSA/B_I-18i device ID.
> VID_9005, DID_028F, SVID_1CF2 and SDID_0B29
>
> Added support for ZTE SDPSA/B_L-18i 2G device ID.
> VID_9005, DID_028F, SVID_1CF2 and SDID_0B45
>
> Reviewed-by: Kevin Barnett <[email protected]>
> Reviewed-by: Mike McGowen <[email protected]>
> Reviewed-by: Scott Benesh <[email protected]>
> Reviewed-by: Scott Teel <[email protected]>
> Signed-off-by: Balsundar P <[email protected]>
> Signed-off-by: Don Brace <[email protected]>


Acked-by: John Donnelly <[email protected]>


> ---
> drivers/scsi/smartpqi/smartpqi_init.c | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
> index c0b181ba795c..f0e84354f782 100644
> --- a/drivers/scsi/smartpqi/smartpqi_init.c
> +++ b/drivers/scsi/smartpqi/smartpqi_init.c
> @@ -9185,6 +9185,30 @@ static const struct pci_device_id pqi_pci_id_table[] = {
> PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> 0x1dfc, 0x3161)
> },
> + {
> + PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> + 0x1cf2, 0x5445)
> + },
> + {
> + PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> + 0x1cf2, 0x5446)
> + },
> + {
> + PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> + 0x1cf2, 0x5447)
> + },
> + {
> + PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> + 0x1cf2, 0x0b27)
> + },
> + {
> + PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> + 0x1cf2, 0x0b29)
> + },
> + {
> + PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> + 0x1cf2, 0x0b45)
> + },
> {
> PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> PCI_ANY_ID, PCI_ANY_ID)
>

2021-07-14 01:27:55

by John Donnelly

[permalink] [raw]
Subject: Re: [smartpqi updates V2 PATCH 1/9] smartpqi: add pci ids for H3C P4408 controllers

On 7/13/21 4:02 PM, Don Brace wrote:
> From: Mahesh Rajashekhara <[email protected]>
>
> Add support for H3C P4408-Ma-8i-2GB device ID
> VID_9005, DID_028F, SVID_193D and SDID_1108
> VID_9005, DID_028F, SVID_193D and SDID_1109
>
> Reviewed-by: Kevin Barnett <[email protected]>
> Reviewed-by: Mike McGowen <[email protected]>
> Reviewed-by: Murthy Bhat <[email protected]>
> Reviewed-by: Scott Benesh <[email protected]>
> Reviewed-by: Scott Teel <[email protected]>
> Signed-off-by: Mahesh Rajashekhara <[email protected]>
> Signed-off-by: Don Brace <[email protected]>



Acked-by: John Donnelly <[email protected]>

> ---
> drivers/scsi/smartpqi/smartpqi_init.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
> index dcc0b9618a64..64ea4650ca10 100644
> --- a/drivers/scsi/smartpqi/smartpqi_init.c
> +++ b/drivers/scsi/smartpqi/smartpqi_init.c
> @@ -8711,6 +8711,14 @@ static const struct pci_device_id pqi_pci_id_table[] = {
> PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> 0x193d, 0x1107)
> },
> + {
> + PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> + 0x193d, 0x1108)
> + },
> + {
> + PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> + 0x193d, 0x1109)
> + },
> {
> PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
> 0x193d, 0x8460)
>

2021-07-14 06:23:28

by Paul Menzel

[permalink] [raw]
Subject: Re: [smartpqi updates V2 PATCH 0/9] smartpqi updates

Dear Don,


You misspelled Martin’s address again (peters*e*n). Please resend as v3,
so it’s ensured Martin received the messages.


Kind regards,

Paul