linux/drivers/net/dsa
Guenter Roeck b184e497f7 dsa: Fix conversion from host device to mii bus
Commit b4d2394d01 ("dsa: Replace mii_bus with a generic host device")
replaces mii_bus with a generic host_dev, and introduces
dsa_host_dev_to_mii_bus() to support conversion from host_dev to mii_bus.
However, in some cases it uses to_mii_bus to perform that conversion.
Since host_dev is not the phy bus device but typically a platform device,
this fails and results in a crash with the affected drivers.

BUG: unable to handle kernel NULL pointer dereference at           (null)
IP: [<ffffffff81781d35>] __mutex_lock_slowpath+0x75/0x100
PGD 406783067 PUD 406784067 PMD 0
Oops: 0002 [#1] SMP
...
Call Trace:
[<ffffffff810a538b>] ? pick_next_task_fair+0x61b/0x880
[<ffffffff81781de3>] mutex_lock+0x23/0x37
[<ffffffff81533244>] mdiobus_read+0x34/0x60
[<ffffffff8153b95a>] __mv88e6xxx_reg_read+0x8a/0xa0
[<ffffffff8153b9bc>] mv88e6xxx_reg_read+0x4c/0xa0

Fixes: b4d2394d01 ("dsa: Replace mii_bus with a generic host device")
Cc: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Alexander Duyck <alexander.h.duyck@redhat.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-10-17 23:52:08 -04:00
..
Kconfig drivers/net/dsa/Kconfig: Let NET_DSA_BCM_SF2 depend on HAS_IOMEM 2014-10-03 15:52:04 -07:00
Makefile net: DSA: Marvell mv88e6171 switch driver 2014-09-13 17:26:47 -04:00
bcm_sf2.c net: dsa: bcm_sf2: add support for controlling EEE 2014-09-28 17:14:09 -04:00
bcm_sf2.h net: dsa: bcm_sf2: add support for controlling EEE 2014-09-28 17:14:09 -04:00
bcm_sf2_regs.h net: dsa: bcm_sf2: add support for controlling EEE 2014-09-28 17:14:09 -04:00
mv88e6xxx.c dsa: Fix conversion from host device to mii bus 2014-10-17 23:52:08 -04:00
mv88e6xxx.h net: DSA: Marvell mv88e6171 switch driver 2014-09-13 17:26:47 -04:00
mv88e6060.c dsa: Fix conversion from host device to mii bus 2014-10-17 23:52:08 -04:00
mv88e6123_61_65.c dsa: Replace mii_bus with a generic host device 2014-09-15 17:24:20 -04:00
mv88e6131.c dsa: Replace mii_bus with a generic host device 2014-09-15 17:24:20 -04:00
mv88e6171.c dsa: mv88e6171: Fix tag_protocol check 2014-10-14 16:23:27 -04:00