3.18-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Stefan Haberland <[email protected]>


[ 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 <[email protected]>
Signed-off-by: Martin Schwidefsky <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
 drivers/s390/block/dasd.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

--- a/drivers/s390/block/dasd.c
+++ b/drivers/s390/block/dasd.c
@@ -1672,8 +1672,11 @@ void dasd_int_handler(struct ccw_device
        /* 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)


Reply via email to