On 01/29/2013 04:17 PM, Stefan Weinhuber wrote:
Hannes Reinecke <[email protected]> wrote on 2013-01-29 08:12:00:
[..]
+static ssize_t
+dasd_timeout_store(struct device *dev, struct device_attribute *attr,
+         const char *buf, size_t count)
+{
+   struct dasd_device *device;
+   struct request_queue *q;
+   unsigned long val, flags;
+
+   device = dasd_device_from_cdev(to_ccwdev(dev));
+   if (IS_ERR(device))
+      return -ENODEV;
+
+   if ((strict_strtoul(buf, 10, &val) != 0) ||
+       val > ULONG_MAX / HZ) {
+      dasd_put_device(device);
+      return -EINVAL;
+   }
+   q = device->block->request_queue;

You need to check device->block before using it.
For alias devices the device->block pointer is NULL, as an alias device
has no fixed association with a block device.

Ah. You live and learn.

Okay, will be fixing it up.

Cheers,

Hannes
--
Dr. Hannes Reinecke                   zSeries & Storage
[email protected]                          +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to