git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
This commit was manufactured by cvs2svn to create tag
[linux-2.6.git]
/
drivers
/
s390
/
cio
/
chsc.c
diff --git
a/drivers/s390/cio/chsc.c
b/drivers/s390/cio/chsc.c
index
de60cfd
..
e5a9b01
100644
(file)
--- a/
drivers/s390/cio/chsc.c
+++ b/
drivers/s390/cio/chsc.c
@@
-1,7
+1,7
@@
/*
* drivers/s390/cio/chsc.c
* S/390 common I/O routines -- channel subsystem call
/*
* drivers/s390/cio/chsc.c
* S/390 common I/O routines -- channel subsystem call
- * $Revision: 1.11
5
$
+ * $Revision: 1.11
4
$
*
* Copyright (C) 1999-2002 IBM Deutschland Entwicklung GmbH,
* IBM Corporation
*
* Copyright (C) 1999-2002 IBM Deutschland Entwicklung GmbH,
* IBM Corporation
@@
-906,6
+906,8
@@
new_channel_path(int chpid)
return -ENOMEM;
memset(chp, 0, sizeof(struct channel_path));
return -ENOMEM;
memset(chp, 0, sizeof(struct channel_path));
+ chps[chpid] = chp;
+
/* fill in status, etc. */
chp->id = chpid;
chp->state = 1;
/* fill in status, etc. */
chp->id = chpid;
chp->state = 1;
@@
-920,17
+922,12
@@
new_channel_path(int chpid)
if (ret) {
printk(KERN_WARNING "%s: could not register %02x\n",
__func__, chpid);
if (ret) {
printk(KERN_WARNING "%s: could not register %02x\n",
__func__, chpid);
-
goto out_free
;
+
return ret
;
}
ret = device_create_file(&chp->dev, &dev_attr_status);
}
ret = device_create_file(&chp->dev, &dev_attr_status);
- if (ret)
{
+ if (ret)
device_unregister(&chp->dev);
device_unregister(&chp->dev);
- goto out_free;
- } else
- chps[chpid] = chp;
- return ret;
-out_free:
- kfree(chp);
+
return ret;
}
return ret;
}