summaryrefslogtreecommitdiff
path: root/drivers/s390/net/ism_drv.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-08-01 09:51:29 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-08-01 09:51:29 +0100
commitebbbf3c8df3ab52219c2b21e0d37e02acea2510d (patch)
tree7f1fa62f6d9de23db96021995d1498ea07e24ea6 /drivers/s390/net/ism_drv.c
parent46c7ff71b4b4638b172c9747c4e556bd8f98bad2 (diff)
parent097aa9a71fd56cdc62c11bdf45a84f07acaa3604 (diff)
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/s390/net/ism_drv.c')
-rw-r--r--drivers/s390/net/ism_drv.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/s390/net/ism_drv.c b/drivers/s390/net/ism_drv.c
index 60ed70a39d2cc..b8464d9433e96 100644
--- a/drivers/s390/net/ism_drv.c
+++ b/drivers/s390/net/ism_drv.c
@@ -130,6 +130,7 @@ static int ism_cmd(struct ism_dev *ism, void *cmd)
struct ism_req_hdr *req = cmd;
struct ism_resp_hdr *resp = cmd;
+ spin_lock(&ism->cmd_lock);
__ism_write_cmd(ism, req + 1, sizeof(*req), req->len - sizeof(*req));
__ism_write_cmd(ism, req, 0, sizeof(*req));
@@ -143,6 +144,7 @@ static int ism_cmd(struct ism_dev *ism, void *cmd)
}
__ism_read_cmd(ism, resp + 1, sizeof(*resp), resp->len - sizeof(*resp));
out:
+ spin_unlock(&ism->cmd_lock);
return resp->ret;
}
@@ -606,6 +608,7 @@ static int ism_probe(struct pci_dev *pdev, const struct pci_device_id *id)
return -ENOMEM;
spin_lock_init(&ism->lock);
+ spin_lock_init(&ism->cmd_lock);
dev_set_drvdata(&pdev->dev, ism);
ism->pdev = pdev;
ism->dev.parent = &pdev->dev;