diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-10-29 11:44:04 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-10-29 11:44:04 -0400 |
commit | 7fecf0a1f2f0dc334d41f1044198fb5aa6be1905 (patch) | |
tree | 30b20500140e0ad628da8e22a8b42d99138fc899 /drivers | |
parent | 3242f9804ba992c867360e2b57efc268b8e4e175 (diff) | |
parent | a8643430bc82aa3d272b21df2e1feb502bb8aacb (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:
mfd: Do not dereference null pointer in twl4030 error path
mfd: Always initialise WM831x IRQ mutex
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mfd/twl4030-core.c | 2 | ||||
-rw-r--r-- | drivers/mfd/wm831x-irq.c | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/drivers/mfd/twl4030-core.c b/drivers/mfd/twl4030-core.c index e832e975da60..a1c47ee95c0e 100644 --- a/drivers/mfd/twl4030-core.c +++ b/drivers/mfd/twl4030-core.c | |||
@@ -795,7 +795,7 @@ twl4030_probe(struct i2c_client *client, const struct i2c_device_id *id) | |||
795 | twl->client = i2c_new_dummy(client->adapter, | 795 | twl->client = i2c_new_dummy(client->adapter, |
796 | twl->address); | 796 | twl->address); |
797 | if (!twl->client) { | 797 | if (!twl->client) { |
798 | dev_err(&twl->client->dev, | 798 | dev_err(&client->dev, |
799 | "can't attach client %d\n", i); | 799 | "can't attach client %d\n", i); |
800 | status = -ENOMEM; | 800 | status = -ENOMEM; |
801 | goto fail; | 801 | goto fail; |
diff --git a/drivers/mfd/wm831x-irq.c b/drivers/mfd/wm831x-irq.c index d3015dfb9134..ac056ea6b66e 100644 --- a/drivers/mfd/wm831x-irq.c +++ b/drivers/mfd/wm831x-irq.c | |||
@@ -507,6 +507,8 @@ int wm831x_irq_init(struct wm831x *wm831x, int irq) | |||
507 | { | 507 | { |
508 | int i, ret; | 508 | int i, ret; |
509 | 509 | ||
510 | mutex_init(&wm831x->irq_lock); | ||
511 | |||
510 | if (!irq) { | 512 | if (!irq) { |
511 | dev_warn(wm831x->dev, | 513 | dev_warn(wm831x->dev, |
512 | "No interrupt specified - functionality limited\n"); | 514 | "No interrupt specified - functionality limited\n"); |
@@ -521,7 +523,6 @@ int wm831x_irq_init(struct wm831x *wm831x, int irq) | |||
521 | } | 523 | } |
522 | 524 | ||
523 | wm831x->irq = irq; | 525 | wm831x->irq = irq; |
524 | mutex_init(&wm831x->irq_lock); | ||
525 | INIT_WORK(&wm831x->irq_work, wm831x_irq_worker); | 526 | INIT_WORK(&wm831x->irq_work, wm831x_irq_worker); |
526 | 527 | ||
527 | /* Mask the individual interrupt sources */ | 528 | /* Mask the individual interrupt sources */ |