[S390] cio: css_register_subchannel race.

From: Martin Schwidefsky
Date: Fri Dec 15 2006 - 11:24:29 EST


From: Stefan Bader <shbader@xxxxxxxxxx>

[S390] cio: css_register_subchannel race.

Asynchronous probe can release memory of a subchannel before
css_get_ssd_info is called. To fix this call css_get_ssd_info
before registering with driver core.

Signed-off-by: Stefan Bader <shbader@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
---

drivers/s390/cio/css.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletion(-)

diff -urpN linux-2.6/drivers/s390/cio/css.c linux-2.6-patched/drivers/s390/cio/css.c
--- linux-2.6/drivers/s390/cio/css.c 2006-12-15 16:54:55.000000000 +0100
+++ linux-2.6-patched/drivers/s390/cio/css.c 2006-12-15 16:55:14.000000000 +0100
@@ -139,6 +139,8 @@ css_register_subchannel(struct subchanne
sch->dev.release = &css_subchannel_release;
sch->dev.groups = subch_attr_groups;

+ css_get_ssd_info(sch);
+
/* make it known to the system */
ret = css_sch_device_register(sch);
if (ret) {
@@ -146,7 +148,6 @@ css_register_subchannel(struct subchanne
__func__, sch->dev.bus_id);
return ret;
}
- css_get_ssd_info(sch);
return ret;
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/