* [PATCH 0/3] smartpqi updates
@ 2020-11-11 20:24 Don Brace
2020-11-11 20:24 ` [PATCH 1/3] smartpqi: correct driver removal with HBA disks Don Brace
` (4 more replies)
0 siblings, 5 replies; 10+ messages in thread
From: Don Brace @ 2020-11-11 20:24 UTC (permalink / raw)
To: Kevin.Barnett, scott.teel, Justin.Lindley, scott.benesh,
gerry.morong, mahesh.rajashekhara, hch, jejb, joseph.szczypek,
POSWALD
Cc: linux-scsi
These patches are based on Linus's tree
This small set of changes consist of two minor bug fixes:
* Remove an unbalanced call to pqi_ctrl_unbusy in the smp
handler. There is not a call to pqi_ctrl_busy.
* Correct driver rmmod hang when using HBA disks with
write cache enabled. During removal, SCSI SYNCHRONIZE CACHE
requests are blocked with SCSI_MLQUEUE_HOST_BUSY which cause
the hang.
Also included is a version change.
---
Don Brace (3):
smartpqi: correct driver removal with HBA disks
smartpqi: correct pqi_sas_smp_handler busy condition
smartpqi: update version to 1.2.16-012
drivers/scsi/smartpqi/smartpqi_init.c | 4 ++--
drivers/scsi/smartpqi/smartpqi_sas_transport.c | 1 -
2 files changed, 2 insertions(+), 3 deletions(-)
--
Signature
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/3] smartpqi: correct driver removal with HBA disks
2020-11-11 20:24 [PATCH 0/3] smartpqi updates Don Brace
@ 2020-11-11 20:24 ` Don Brace
2020-11-11 20:24 ` [PATCH 2/3] smartpqi: correct pqi_sas_smp_handler busy condition Don Brace
` (3 subsequent siblings)
4 siblings, 0 replies; 10+ messages in thread
From: Don Brace @ 2020-11-11 20:24 UTC (permalink / raw)
To: Kevin.Barnett, scott.teel, Justin.Lindley, scott.benesh,
gerry.morong, mahesh.rajashekhara, hch, jejb, joseph.szczypek,
POSWALD
Cc: linux-scsi
From: Don Brace <dbrace@redhat.com>
* Correct rmmod hangs when using HBA disks with
write cache enabled.
Do not set controller flag "in_shutdown" during rmmod.
* SCSI SYNCHRONIZE CACHE(10) and SCSI SYNCHRONIZE CACHE(16)
requests were blocked with SCSI_MLQUEUE_HOST_BUSY.
Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
Reviewed-by: Scott Teel <scott.teel@microchip.com>
Signed-off-by: Don Brace <don.brace@microchip.com>
---
drivers/scsi/smartpqi/smartpqi_init.c | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
index 9d0229656681..531f10853f03 100644
--- a/drivers/scsi/smartpqi/smartpqi_init.c
+++ b/drivers/scsi/smartpqi/smartpqi_init.c
@@ -345,10 +345,9 @@ static inline void pqi_device_remove_start(struct pqi_scsi_dev *device)
device->in_remove = true;
}
-static inline bool pqi_device_in_remove(struct pqi_ctrl_info *ctrl_info,
- struct pqi_scsi_dev *device)
+static inline bool pqi_device_in_remove(struct pqi_scsi_dev *device)
{
- return device->in_remove && !ctrl_info->in_shutdown;
+ return device->in_remove;
}
static inline void pqi_ctrl_shutdown_start(struct pqi_ctrl_info *ctrl_info)
@@ -5347,8 +5346,7 @@ static int pqi_scsi_queue_command(struct Scsi_Host *shost,
atomic_inc(&device->scsi_cmds_outstanding);
- if (pqi_ctrl_offline(ctrl_info) || pqi_device_in_remove(ctrl_info,
- device)) {
+ if (pqi_ctrl_offline(ctrl_info) || pqi_device_in_remove(device)) {
set_host_byte(scmd, DID_NO_CONNECT);
pqi_scsi_done(scmd);
return 0;
@@ -8031,8 +8029,6 @@ static void pqi_pci_remove(struct pci_dev *pci_dev)
if (!ctrl_info)
return;
- ctrl_info->in_shutdown = true;
-
pqi_remove_ctrl(ctrl_info);
}
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 2/3] smartpqi: correct pqi_sas_smp_handler busy condition
2020-11-11 20:24 [PATCH 0/3] smartpqi updates Don Brace
2020-11-11 20:24 ` [PATCH 1/3] smartpqi: correct driver removal with HBA disks Don Brace
@ 2020-11-11 20:24 ` Don Brace
2020-11-11 20:24 ` [PATCH 3/3] smartpqi: update version to 1.2.16-012 Don Brace
` (2 subsequent siblings)
4 siblings, 0 replies; 10+ messages in thread
From: Don Brace @ 2020-11-11 20:24 UTC (permalink / raw)
To: Kevin.Barnett, scott.teel, Justin.Lindley, scott.benesh,
gerry.morong, mahesh.rajashekhara, hch, jejb, joseph.szczypek,
POSWALD
Cc: linux-scsi
* Remove unbalanced call to pqi_ctrl_unbusy.
Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
Reviewed-by: Scott Teel <scott.teel@microchip.com>
Reviewed-by: Kevin Barnett <kevin.barnett@microchip.com>
Signed-off-by: Don Brace <don.brace@microchip.com>
---
drivers/scsi/smartpqi/smartpqi_sas_transport.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/scsi/smartpqi/smartpqi_sas_transport.c b/drivers/scsi/smartpqi/smartpqi_sas_transport.c
index 999870eb9ed8..c9b00b3368d7 100644
--- a/drivers/scsi/smartpqi/smartpqi_sas_transport.c
+++ b/drivers/scsi/smartpqi/smartpqi_sas_transport.c
@@ -549,7 +549,6 @@ void pqi_sas_smp_handler(struct bsg_job *job, struct Scsi_Host *shost,
reslen = pqi_build_sas_smp_handler_reply(smp_buf, job, &error_info);
out:
bsg_job_done(job, rc, reslen);
- pqi_ctrl_unbusy(ctrl_info);
}
struct sas_function_template pqi_sas_transport_functions = {
.get_linkerrors = pqi_sas_get_linkerrors,
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 3/3] smartpqi: update version to 1.2.16-012
2020-11-11 20:24 [PATCH 0/3] smartpqi updates Don Brace
2020-11-11 20:24 ` [PATCH 1/3] smartpqi: correct driver removal with HBA disks Don Brace
2020-11-11 20:24 ` [PATCH 2/3] smartpqi: correct pqi_sas_smp_handler busy condition Don Brace
@ 2020-11-11 20:24 ` Don Brace
2020-11-17 4:03 ` [PATCH 0/3] smartpqi updates Martin K. Petersen
2020-11-20 3:29 ` Martin K. Petersen
4 siblings, 0 replies; 10+ messages in thread
From: Don Brace @ 2020-11-11 20:24 UTC (permalink / raw)
To: Kevin.Barnett, scott.teel, Justin.Lindley, scott.benesh,
gerry.morong, mahesh.rajashekhara, hch, jejb, joseph.szczypek,
POSWALD
Cc: linux-scsi
Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
Reviewed-by: Scott Teel <scott.teel@microchip.com>
Reviewed-by: Gerry Morong <gerry.morong@microchip.com>
Signed-off-by: Don Brace <don.brace@microchip.com>
---
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 531f10853f03..c53f456fbd09 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 "1.2.16-010"
+#define DRIVER_VERSION "1.2.16-012"
#define DRIVER_MAJOR 1
#define DRIVER_MINOR 2
#define DRIVER_RELEASE 16
-#define DRIVER_REVISION 10
+#define DRIVER_REVISION 12
#define DRIVER_NAME "Microsemi PQI Driver (v" \
DRIVER_VERSION BUILD_TIMESTAMP ")"
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 0/3] smartpqi updates
2020-11-11 20:24 [PATCH 0/3] smartpqi updates Don Brace
` (2 preceding siblings ...)
2020-11-11 20:24 ` [PATCH 3/3] smartpqi: update version to 1.2.16-012 Don Brace
@ 2020-11-17 4:03 ` Martin K. Petersen
2020-11-20 3:29 ` Martin K. Petersen
4 siblings, 0 replies; 10+ messages in thread
From: Martin K. Petersen @ 2020-11-17 4:03 UTC (permalink / raw)
To: Don Brace
Cc: Kevin.Barnett, scott.teel, Justin.Lindley, scott.benesh,
gerry.morong, mahesh.rajashekhara, hch, jejb, joseph.szczypek,
POSWALD, linux-scsi
Don,
> This small set of changes consist of two minor bug fixes:
> * Remove an unbalanced call to pqi_ctrl_unbusy in the smp
> handler. There is not a call to pqi_ctrl_busy.
> * Correct driver rmmod hang when using HBA disks with
> write cache enabled. During removal, SCSI SYNCHRONIZE CACHE
> requests are blocked with SCSI_MLQUEUE_HOST_BUSY which cause
> the hang.
Applied to 5.11/scsi-staging, thanks!
--
Martin K. Petersen Oracle Linux Engineering
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/3] smartpqi updates
2020-11-11 20:24 [PATCH 0/3] smartpqi updates Don Brace
` (3 preceding siblings ...)
2020-11-17 4:03 ` [PATCH 0/3] smartpqi updates Martin K. Petersen
@ 2020-11-20 3:29 ` Martin K. Petersen
4 siblings, 0 replies; 10+ messages in thread
From: Martin K. Petersen @ 2020-11-20 3:29 UTC (permalink / raw)
To: Justin.Lindley, Kevin.Barnett, joseph.szczypek, gerry.morong,
hch, POSWALD, Don Brace, mahesh.rajashekhara, scott.teel,
scott.benesh, jejb
Cc: Martin K . Petersen, linux-scsi
On Wed, 11 Nov 2020 14:24:33 -0600, Don Brace wrote:
> These patches are based on Linus's tree
>
> This small set of changes consist of two minor bug fixes:
> * Remove an unbalanced call to pqi_ctrl_unbusy in the smp
> handler. There is not a call to pqi_ctrl_busy.
> * Correct driver rmmod hang when using HBA disks with
> write cache enabled. During removal, SCSI SYNCHRONIZE CACHE
> requests are blocked with SCSI_MLQUEUE_HOST_BUSY which cause
> the hang.
> Also included is a version change.
Applied to 5.11/scsi-queue, thanks!
[1/3] scsi: smartpqi: Correct driver removal with HBA disks
https://git.kernel.org/mkp/scsi/c/1bdf6e934387
[2/3] scsi: smartpqi: Correct pqi_sas_smp_handler busy condition
https://git.kernel.org/mkp/scsi/c/408bdd7e5845
[3/3] scsi: smartpqi: Update version to 1.2.16-012
https://git.kernel.org/mkp/scsi/c/5443bdc4cc77
--
Martin K. Petersen Oracle Linux Engineering
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/3] smartpqi updates
2023-12-19 19:36 Don Brace
@ 2024-01-04 4:11 ` Martin K. Petersen
0 siblings, 0 replies; 10+ messages in thread
From: Martin K. Petersen @ 2024-01-04 4:11 UTC (permalink / raw)
To: Don Brace
Cc: Kevin.Barnett, scott.teel, Justin.Lindley, scott.benesh,
gerry.morong, mahesh.rajashekhara, mike.mcgowen, murthy.bhat,
kumar.meiyappan, jeremy.reeves, david.strahan, hch, jejb,
joseph.szczypek, POSWALD, linux-scsi
Don,
> The only functional change to smartpqi is correction of a race
> condition during a scan/rescan operation. The device->rescan flag can
> be updated by multiple threads causing issues.
Applied to 6.8/scsi-staging, thanks!
--
Martin K. Petersen Oracle Linux Engineering
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 0/3] smartpqi updates
@ 2023-12-19 19:36 Don Brace
2024-01-04 4:11 ` Martin K. Petersen
0 siblings, 1 reply; 10+ messages in thread
From: Don Brace @ 2023-12-19 19:36 UTC (permalink / raw)
To: don.brace, Kevin.Barnett, scott.teel, Justin.Lindley,
scott.benesh, gerry.morong, mahesh.rajashekhara, mike.mcgowen,
murthy.bhat, kumar.meiyappan, jeremy.reeves, david.strahan, hch,
jejb, joseph.szczypek, POSWALD
Cc: linux-scsi
These patches are based on Martin Petersen's 6.8/scsi-queue tree
https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
6.8/scsi-queue
The only functional change to smartpqi is correction of a race condition
during a scan/rescan operation. The device->rescan flag can be updated
by multiple threads causing issues.
The other two patches add PCI-IDs for new controllers and change the
driver version.
This set of changes consists of:
* smartpqi-Add-new-controller-PCI-IDs
No functional changes. Just adding in more device support.
* smartpqi: fix logical volume rescan race condition
The driver has several threads that can contend for accessing
a controller instance wide 'rescan' flag. In some rare cases
a race condition can occur that bypasses a call to rescan for
device changes. Some of these changes are; device removal, logical
volume changes, and device adds. We basically added a spin-lock
to protect the 'rescan' flag.
* smartpqi-change-driver-version-to-2.1.26-030
No functional changes.
---
David Strahan (1):
smartpqi: Add new controller PCI IDs
Don Brace (1):
smartpqi: bump driver version to 2.1.26-030
Mahesh Rajashekhara (1):
smartpqi: fix logical volume rescan race condition
drivers/scsi/smartpqi/smartpqi.h | 1 -
drivers/scsi/smartpqi/smartpqi_init.c | 89 ++++++++++++++++++++++++---
2 files changed, 79 insertions(+), 11 deletions(-)
--
2.43.0.76.g1a87c842ec
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/3] smartpqi updates
2017-09-27 21:29 Don Brace
@ 2017-10-03 2:26 ` Martin K. Petersen
0 siblings, 0 replies; 10+ messages in thread
From: Martin K. Petersen @ 2017-10-03 2:26 UTC (permalink / raw)
To: Don Brace
Cc: joseph.szczypek, gerry.morong, john.hall, jejb, Kevin.Barnett,
Mahesh.Rajashekhara, bader.alisaleh, hch, scott.teel, Viswas.G,
Justin.Lindley, scott.benesh, POSWALD, linux-scsi
Don,
> These patches are based on Linus's tree
>
> The changes are:
> - update list of controllers
> - cleanup warning message
> - change driver version to 1.1.2-126
Applied to 4.15/scsi-queue.
--
Martin K. Petersen Oracle Linux Engineering
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 0/3] smartpqi updates
@ 2017-09-27 21:29 Don Brace
2017-10-03 2:26 ` Martin K. Petersen
0 siblings, 1 reply; 10+ messages in thread
From: Don Brace @ 2017-09-27 21:29 UTC (permalink / raw)
To: joseph.szczypek, gerry.morong, john.hall, jejb, Kevin.Barnett,
Mahesh.Rajashekhara, bader.alisaleh, hch, scott.teel, Viswas.G,
Justin.Lindley, scott.benesh, POSWALD
Cc: linux-scsi
These patches are based on Linus's tree
The changes are:
- update list of controllers
- cleanup warning message
- change driver version to 1.1.2-126
---
Don Brace (1):
smartpqi: update driver version to 1.1.2-126
Kevin Barnett (2):
smartpqi: update controller ids
smartpqi: cleanup raid map warning message
drivers/scsi/smartpqi/smartpqi_init.c | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
--
Signature
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2024-01-04 4:11 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-11 20:24 [PATCH 0/3] smartpqi updates Don Brace
2020-11-11 20:24 ` [PATCH 1/3] smartpqi: correct driver removal with HBA disks Don Brace
2020-11-11 20:24 ` [PATCH 2/3] smartpqi: correct pqi_sas_smp_handler busy condition Don Brace
2020-11-11 20:24 ` [PATCH 3/3] smartpqi: update version to 1.2.16-012 Don Brace
2020-11-17 4:03 ` [PATCH 0/3] smartpqi updates Martin K. Petersen
2020-11-20 3:29 ` Martin K. Petersen
-- strict thread matches above, loose matches on Subject: below --
2023-12-19 19:36 Don Brace
2024-01-04 4:11 ` Martin K. Petersen
2017-09-27 21:29 Don Brace
2017-10-03 2:26 ` Martin K. Petersen
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.