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/

