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
linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git]
/
drivers
/
message
/
i2o
/
exec-osm.c
diff --git
a/drivers/message/i2o/exec-osm.c
b/drivers/message/i2o/exec-osm.c
index
7bd4d85
..
04e0357
100644
(file)
--- a/
drivers/message/i2o/exec-osm.c
+++ b/
drivers/message/i2o/exec-osm.c
@@
-58,13
+58,6
@@
struct i2o_exec_wait {
spinlock_t lock; /* lock before modifying */
};
spinlock_t lock; /* lock before modifying */
};
-/* Work struct needed to handle LCT NOTIFY replies */
-struct i2o_exec_lct_notify_work {
- struct work_struct work; /* work struct */
- struct i2o_controller *c; /* controller on which the LCT NOTIFY
- was received */
-};
-
/* Exec OSM class handling definition */
static struct i2o_class_id i2o_exec_class_id[] = {
{I2O_CLASS_EXECUTIVE},
/* Exec OSM class handling definition */
static struct i2o_class_id i2o_exec_class_id[] = {
{I2O_CLASS_EXECUTIVE},
@@
-360,12
+353,9
@@
static int i2o_exec_remove(struct device *dev)
* new LCT and if the buffer for the LCT was to small sends a LCT NOTIFY
* again, otherwise send LCT NOTIFY to get informed on next LCT change.
*/
* new LCT and if the buffer for the LCT was to small sends a LCT NOTIFY
* again, otherwise send LCT NOTIFY to get informed on next LCT change.
*/
-static void i2o_exec_lct_modified(struct i2o_
exec_lct_notify_work *work
)
+static void i2o_exec_lct_modified(struct i2o_
controller *c
)
{
u32 change_ind = 0;
{
u32 change_ind = 0;
- struct i2o_controller *c = work->c;
-
- kfree(work);
if (i2o_device_parse_lct(c) != -EAGAIN)
change_ind = c->lct->change_ind + 1;
if (i2o_device_parse_lct(c) != -EAGAIN)
change_ind = c->lct->change_ind + 1;
@@
-418,7
+408,7
@@
static int i2o_exec_reply(struct i2o_controller *c, u32 m,
return i2o_msg_post_wait_complete(c, m, msg, context);
if ((le32_to_cpu(msg->u.head[1]) >> 24) == I2O_CMD_LCT_NOTIFY) {
return i2o_msg_post_wait_complete(c, m, msg, context);
if ((le32_to_cpu(msg->u.head[1]) >> 24) == I2O_CMD_LCT_NOTIFY) {
- struct
i2o_exec_lct_notify_work
*work;
+ struct
work_struct
*work;
pr_debug("%s: LCT notify received\n", c->name);
pr_debug("%s: LCT notify received\n", c->name);
@@
-426,11
+416,8
@@
static int i2o_exec_reply(struct i2o_controller *c, u32 m,
if (!work)
return -ENOMEM;
if (!work)
return -ENOMEM;
- work->c = c;
-
- INIT_WORK(&work->work, (void (*)(void *))i2o_exec_lct_modified,
- work);
- queue_work(i2o_exec_driver.event_queue, &work->work);
+ INIT_WORK(work, (void (*)(void *))i2o_exec_lct_modified, c);
+ queue_work(i2o_exec_driver.event_queue, work);
return 1;
}
return 1;
}