2021-07-14 18:32:48

by Don Brace

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

These patches are based on Martin Petersen'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.

Change since V2:
Changes resulting from Paul Menzel <[email protected]>
review:
* No code changes, just correcting an e-mail.
* Corrected misspelling on Martin Petersen's e-mail and name.
Apologies.


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-14 18:33:11

by Don Brace

[permalink] [raw]
Subject: [smartpqi updates V3 PATCH 2/9] smartpqi: update copyright notices

From: Kevin Barnett <[email protected]>

Updated copyright notices and company name strings to reflect
Microchip ownership.

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

diff --git a/drivers/scsi/smartpqi/Kconfig b/drivers/scsi/smartpqi/Kconfig
index cb9e4e968b60..eac7baecf42f 100644
--- a/drivers/scsi/smartpqi/Kconfig
+++ b/drivers/scsi/smartpqi/Kconfig
@@ -1,7 +1,7 @@
#
# Kernel configuration file for the SMARTPQI
#
-# Copyright (c) 2019-2020 Microchip Technology Inc. and its subsidiaries
+# Copyright (c) 2019-2021 Microchip Technology Inc. and its subsidiaries
# Copyright (c) 2017-2018 Microsemi Corporation
# Copyright (c) 2016 Microsemi Corporation
# Copyright (c) 2016 PMC-Sierra, Inc.
diff --git a/drivers/scsi/smartpqi/smartpqi.h b/drivers/scsi/smartpqi/smartpqi.h
index d7dac5572274..f340afc011b5 100644
--- a/drivers/scsi/smartpqi/smartpqi.h
+++ b/drivers/scsi/smartpqi/smartpqi.h
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0 */
/*
- * driver for Microsemi PQI-based storage controllers
- * Copyright (c) 2019-2020 Microchip Technology Inc. and its subsidiaries
+ * driver for Microchip PQI-based storage controllers
+ * Copyright (c) 2019-2021 Microchip Technology Inc. and its subsidiaries
* Copyright (c) 2016-2018 Microsemi Corporation
* Copyright (c) 2016 PMC-Sierra, Inc.
*
@@ -59,7 +59,7 @@ struct pqi_device_registers {
/*
* controller registers
*
- * These are defined by the Microsemi implementation.
+ * These are defined by the Microchip implementation.
*
* Some registers (those named sis_*) are only used when in
* legacy SIS mode before we transition the controller into
diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
index 64ea4650ca10..6ce17a191c0b 100644
--- a/drivers/scsi/smartpqi/smartpqi_init.c
+++ b/drivers/scsi/smartpqi/smartpqi_init.c
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
/*
- * driver for Microsemi PQI-based storage controllers
- * Copyright (c) 2019-2020 Microchip Technology Inc. and its subsidiaries
+ * driver for Microchip PQI-based storage controllers
+ * Copyright (c) 2019-2021 Microchip Technology Inc. and its subsidiaries
* Copyright (c) 2016-2018 Microsemi Corporation
* Copyright (c) 2016 PMC-Sierra, Inc.
*
diff --git a/drivers/scsi/smartpqi/smartpqi_sas_transport.c b/drivers/scsi/smartpqi/smartpqi_sas_transport.c
index dd628cc87f78..afd9bafebd1d 100644
--- a/drivers/scsi/smartpqi/smartpqi_sas_transport.c
+++ b/drivers/scsi/smartpqi/smartpqi_sas_transport.c
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
/*
- * driver for Microsemi PQI-based storage controllers
- * Copyright (c) 2019-2020 Microchip Technology Inc. and its subsidiaries
+ * driver for Microchip PQI-based storage controllers
+ * Copyright (c) 2019-2021 Microchip Technology Inc. and its subsidiaries
* Copyright (c) 2016-2018 Microsemi Corporation
* Copyright (c) 2016 PMC-Sierra, Inc.
*
diff --git a/drivers/scsi/smartpqi/smartpqi_sis.c b/drivers/scsi/smartpqi/smartpqi_sis.c
index c954620628e0..d63c46a8e38b 100644
--- a/drivers/scsi/smartpqi/smartpqi_sis.c
+++ b/drivers/scsi/smartpqi/smartpqi_sis.c
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
/*
- * driver for Microsemi PQI-based storage controllers
- * Copyright (c) 2019-2020 Microchip Technology Inc. and its subsidiaries
+ * driver for Microchip PQI-based storage controllers
+ * Copyright (c) 2019-2021 Microchip Technology Inc. and its subsidiaries
* Copyright (c) 2016-2018 Microsemi Corporation
* Copyright (c) 2016 PMC-Sierra, Inc.
*
diff --git a/drivers/scsi/smartpqi/smartpqi_sis.h b/drivers/scsi/smartpqi/smartpqi_sis.h
index 12cd2ab1aead..d29c1352a826 100644
--- a/drivers/scsi/smartpqi/smartpqi_sis.h
+++ b/drivers/scsi/smartpqi/smartpqi_sis.h
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0 */
/*
- * driver for Microsemi PQI-based storage controllers
- * Copyright (c) 2019-2020 Microchip Technology Inc. and its subsidiaries
+ * driver for Microchip PQI-based storage controllers
+ * Copyright (c) 2019-2021 Microchip Technology Inc. and its subsidiaries
* Copyright (c) 2016-2018 Microsemi Corporation
* Copyright (c) 2016 PMC-Sierra, Inc.
*
--
2.28.0.rc1.9.ge7ae437ac1

2021-07-14 18:33:25

by Don Brace

[permalink] [raw]
Subject: [smartpqi updates V3 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-19 02:47:44

by Martin K. Petersen

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


Don,

> 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.

Patches #3 and #4 are missing Signed-off-by: tags.

I can amend if you provide the relevant signoff chains for the patches
in question.

--
Martin K. Petersen Oracle Linux Engineering

2021-07-20 02:53:01

by Don Brace

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

-----Original Message-----
From: Martin K. Petersen Subject: Re: [smartpqi updates V3 PATCH 0/9] smartpqi updates

EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe

Don,

> 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.

Patches #3 and #4 are missing Signed-off-by: tags.

I can amend if you provide the relevant signoff chains for the patches in question.

Don:
Sorry about that.
#3 and #4
Signed-off-by: Don Brace <[email protected]>
Reviewed-by: Scott Benesh <[email protected]>
Reviewed-by: Gerry Morong <[email protected]>
Reviewed-by: Justin Lindley <[email protected]>

Thank-you for doing this.
Don

--
Martin K. Petersen Oracle Linux Engineering

2021-07-24 02:20:26

by Martin K. Petersen

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

On Wed, 14 Jul 2021 13:28:38 -0500, Don Brace wrote:

> These patches are based on Martin Petersen'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.
>
> [...]

Applied to 5.15/scsi-queue, thanks!

[1/9] smartpqi: add pci ids for H3C P4408 controllers
https://git.kernel.org/mkp/scsi/c/d3af3f647bd5
[2/9] smartpqi: update copyright notices
https://git.kernel.org/mkp/scsi/c/889653ecfc98
[3/9] smartpqi: change driver module MACROS to microchip
https://git.kernel.org/mkp/scsi/c/6aa26b5a2c70
[4/9] smartpqi: change Kconfig menu entry to microchip
https://git.kernel.org/mkp/scsi/c/8e505fceaa2b
[5/9] smartpqi: add SCSI cmd info for resets
https://git.kernel.org/mkp/scsi/c/f0e473e0f603
[6/9] smartpqi: add PCI-ID for new ntcom controller
https://git.kernel.org/mkp/scsi/c/e326b97c92cc
[7/9] smartpqi: add PCI IDs for new ZTE controllers
https://git.kernel.org/mkp/scsi/c/09d9968a8eff
[8/9] smartpqi: fix isr accessing uninitialized data
https://git.kernel.org/mkp/scsi/c/0777a3fb98f0
[9/9] smartpqi: update version to 2.1.10-020
https://git.kernel.org/mkp/scsi/c/f339c7e491a8

--
Martin K. Petersen Oracle Linux Engineering