From: Stefan Haberland <s...@linux.vnet.ibm.com>

[ Upstream commit 2202134e48a3b50320aeb9e3dd1186833e9d7e66 ]

Check if the device pointer is valid. Just a sanity check since we already
are in the int handler of the device.

Signed-off-by: Stefan Haberland <s...@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidef...@de.ibm.com>
Signed-off-by: Sasha Levin <alexander.le...@verizon.com>
---
 drivers/s390/block/dasd.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c
index 1de089019268..5ecd40884f01 100644
--- a/drivers/s390/block/dasd.c
+++ b/drivers/s390/block/dasd.c
@@ -1704,8 +1704,11 @@ void dasd_int_handler(struct ccw_device *cdev, unsigned 
long intparm,
        /* check for for attention message */
        if (scsw_dstat(&irb->scsw) & DEV_STAT_ATTENTION) {
                device = dasd_device_from_cdev_locked(cdev);
-               device->discipline->check_attention(device, irb->esw.esw1.lpum);
-               dasd_put_device(device);
+               if (!IS_ERR(device)) {
+                       device->discipline->check_attention(device,
+                                                           irb->esw.esw1.lpum);
+                       dasd_put_device(device);
+               }
        }
 
        if (!cqr)
-- 
2.11.0

Reply via email to