diff options
| author | Steve French <sfrench@us.ibm.com> | 2007-11-25 04:53:27 -0500 |
|---|---|---|
| committer | Steve French <sfrench@us.ibm.com> | 2007-11-25 04:53:27 -0500 |
| commit | 058250a0d5886b4d96a195ecc7e3a75e2df5e4b1 (patch) | |
| tree | fb67e8f5258c6aa11d4e8c39650e23de7556b38d /drivers/spi/spi.c | |
| parent | cea218054ad277d6c126890213afde07b4eb1602 (diff) | |
| parent | 2ffbb8377c7a0713baf6644e285adc27a5654582 (diff) | |
Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'drivers/spi/spi.c')
| -rw-r--r-- | drivers/spi/spi.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index 89769ce16f88..b31f4431849b 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c | |||
| @@ -457,10 +457,11 @@ done: | |||
| 457 | EXPORT_SYMBOL_GPL(spi_register_master); | 457 | EXPORT_SYMBOL_GPL(spi_register_master); |
| 458 | 458 | ||
| 459 | 459 | ||
| 460 | static int __unregister(struct device *dev, void *unused) | 460 | static int __unregister(struct device *dev, void *master_dev) |
| 461 | { | 461 | { |
| 462 | /* note: before about 2.6.14-rc1 this would corrupt memory: */ | 462 | /* note: before about 2.6.14-rc1 this would corrupt memory: */ |
| 463 | spi_unregister_device(to_spi_device(dev)); | 463 | if (dev != master_dev) |
| 464 | spi_unregister_device(to_spi_device(dev)); | ||
| 464 | return 0; | 465 | return 0; |
| 465 | } | 466 | } |
| 466 | 467 | ||
| @@ -478,7 +479,8 @@ void spi_unregister_master(struct spi_master *master) | |||
| 478 | { | 479 | { |
| 479 | int dummy; | 480 | int dummy; |
| 480 | 481 | ||
| 481 | dummy = device_for_each_child(master->dev.parent, NULL, __unregister); | 482 | dummy = device_for_each_child(master->dev.parent, &master->dev, |
| 483 | __unregister); | ||
| 482 | device_unregister(&master->dev); | 484 | device_unregister(&master->dev); |
| 483 | } | 485 | } |
| 484 | EXPORT_SYMBOL_GPL(spi_unregister_master); | 486 | EXPORT_SYMBOL_GPL(spi_unregister_master); |
