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 | |
| 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
| -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 */ |
