| From c3347a1ea4b92c2c9f4dc2075fb2e530a27acee2 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 3 Jun 2020 15:36:32 -0500 |
| Subject: scsi: ibmvscsi: Don't send host info in adapter info MAD after LPM |
| |
| From: Tyrel Datwyler <tyreld@linux.ibm.com> |
| |
| [ Upstream commit 4919b33b63c8b69d8dcf2b867431d0e3b6dc6d28 ] |
| |
| The adapter info MAD is used to send the client info and receive the host |
| info as a response. A persistent buffer is used and as such the client info |
| is overwritten after the response. During the course of a normal adapter |
| reset the client info is refreshed in the buffer in preparation for sending |
| the adapter info MAD. |
| |
| However, in the special case of LPM where we reenable the CRQ instead of a |
| full CRQ teardown and reset we fail to refresh the client info in the |
| adapter info buffer. As a result, after Live Partition Migration (LPM) we |
| erroneously report the host's info as our own. |
| |
| [mkp: typos] |
| |
| Link: https://lore.kernel.org/r/20200603203632.18426-1-tyreld@linux.ibm.com |
| Signed-off-by: Tyrel Datwyler <tyreld@linux.ibm.com> |
| Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/scsi/ibmvscsi/ibmvscsi.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| diff --git a/drivers/scsi/ibmvscsi/ibmvscsi.c b/drivers/scsi/ibmvscsi/ibmvscsi.c |
| index 83645a1c6f82e..aff868afe68d0 100644 |
| --- a/drivers/scsi/ibmvscsi/ibmvscsi.c |
| +++ b/drivers/scsi/ibmvscsi/ibmvscsi.c |
| @@ -429,6 +429,8 @@ static int ibmvscsi_reenable_crq_queue(struct crq_queue *queue, |
| int rc = 0; |
| struct vio_dev *vdev = to_vio_dev(hostdata->dev); |
| |
| + set_adapter_info(hostdata); |
| + |
| /* Re-enable the CRQ */ |
| do { |
| if (rc) |
| -- |
| 2.25.1 |
| |