mirror of https://gitee.com/openkylin/linux.git
Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] cio: fix orb initialization in cio_start_key [S390] cio: Fix driver_data handling for ccwgroup devices.
This commit is contained in:
commit
9824b8f113
|
@ -113,7 +113,8 @@ ccwgroup_release (struct device *dev)
|
|||
|
||||
for (i = 0; i < gdev->count; i++) {
|
||||
if (gdev->cdev[i]) {
|
||||
dev_set_drvdata(&gdev->cdev[i]->dev, NULL);
|
||||
if (dev_get_drvdata(&gdev->cdev[i]->dev) == gdev)
|
||||
dev_set_drvdata(&gdev->cdev[i]->dev, NULL);
|
||||
put_device(&gdev->cdev[i]->dev);
|
||||
}
|
||||
}
|
||||
|
@ -296,6 +297,7 @@ int ccwgroup_create_from_string(struct device *root, unsigned int creator_id,
|
|||
if (dev_get_drvdata(&gdev->cdev[i]->dev) == gdev)
|
||||
dev_set_drvdata(&gdev->cdev[i]->dev, NULL);
|
||||
put_device(&gdev->cdev[i]->dev);
|
||||
gdev->cdev[i] = NULL;
|
||||
}
|
||||
mutex_unlock(&gdev->reg_mutex);
|
||||
put_device(&gdev->dev);
|
||||
|
|
|
@ -174,6 +174,7 @@ cio_start_key (struct subchannel *sch, /* subchannel structure */
|
|||
CIO_TRACE_EVENT(4, sch->dev.bus_id);
|
||||
|
||||
orb = &to_io_private(sch)->orb;
|
||||
memset(orb, 0, sizeof(union orb));
|
||||
/* sch is always under 2G. */
|
||||
orb->cmd.intparm = (u32)(addr_t)sch;
|
||||
orb->cmd.fmt = 1;
|
||||
|
|
Loading…
Reference in New Issue