mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2024-12-28 17:42:28 +00:00
net: ar8216: prevent device duplication in ar8xxx_dev_list
Import from fd7b89dd46
%5E%21/#F0
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
CHROMIUM: drivers: ar8216: prevent device duplication in ar8xxx_dev_list
If probe is called twice, once for PHY0 and a second time for PHY4,
the same switch device will be added twice to ar8xxx_dev_list, while
supposedly this list should have one element per hardware switch present
in the system.
While no negative impact have been observed, it does happen if a
platform instanciates these two PHYs from device-tree, as an example.
Change-Id: Iddcbdf7d4adacb0af01975b73f8e56b4582e894e
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
Reviewed-on: https://chromium-review.googlesource.com/234790
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Toshi Kikuchi <toshik@chromium.org>
Tested-by: Toshi Kikuchi <toshik@chromium.org>
This commit is contained in:
parent
eb049d3777
commit
a3454d1929
@ -2171,6 +2171,8 @@ ar8xxx_phy_probe(struct phy_device *phydev)
|
||||
swdev->devname, swdev->name, priv->chip_rev,
|
||||
dev_name(&priv->mii_bus->dev));
|
||||
|
||||
list_add(&priv->list, &ar8xxx_dev_list);
|
||||
|
||||
found:
|
||||
priv->use_count++;
|
||||
|
||||
@ -2199,8 +2201,6 @@ found:
|
||||
|
||||
phydev->priv = priv;
|
||||
|
||||
list_add(&priv->list, &ar8xxx_dev_list);
|
||||
|
||||
mutex_unlock(&ar8xxx_dev_list_lock);
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user