openwrtv3/target/linux/generic/files/drivers/net/phy
Pavel Kubelun eb049d3777 net: ar8216: hold ar8xxx_dev_list_lock during use_count--
Import from c3fd96a7b8%5E%21/#F0
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>

CHROMIUM: drivers: ar8216: hold ar8xxx_dev_list_lock during use_count--

It is possible for the remove() callback to run twice in parallel, which
could result into --use_count returning only 1 in both cases and the
rest of the unregistration path to never be reached.

This case has never been observed in practice, but we will fix
preventively to make the code more robust.

BUG=chrome-os-partner:33096
TEST=none

Change-Id: If09abe27fdb2037f514f8674418bafaab3cbdef6
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
Reviewed-on: https://chromium-review.googlesource.com/232870
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Toshi Kikuchi <toshik@chromium.org>
Tested-by: Toshi Kikuchi <toshik@chromium.org>
2016-12-01 15:47:43 +01:00
..
b53 kernel: b53: force BCM531x5 port 5 link state if enabled 2016-09-08 23:03:46 +02:00
adm6996.c kernel: adm6996: set carrier status 2016-08-10 03:04:08 +02:00
adm6996.h treewide: replace nbd@openwrt.org with nbd@nbd.name 2016-06-07 08:58:42 +02:00
ar8216.c net: ar8216: hold ar8xxx_dev_list_lock during use_count-- 2016-12-01 15:47:43 +01:00
ar8216.h treewide: replace nbd@openwrt.org with nbd@nbd.name 2016-06-07 08:58:42 +02:00
ar8327.c net: ar8327: replace sprintf() by scnprintf() 2016-12-01 15:47:43 +01:00
ar8327.h treewide: replace nbd@openwrt.org with nbd@nbd.name 2016-06-07 08:58:42 +02:00
ip17xx.c treewide: replace nbd@openwrt.org with nbd@nbd.name 2016-06-07 08:58:42 +02:00
mvsw61xx.c mvsw61xx: enable SerDes on 6176 if required 2016-09-26 13:04:04 +02:00
mvsw61xx.h mvsw61xx: enable SerDes on 6176 if required 2016-09-26 13:04:04 +02:00
mvswitch.c treewide: replace nbd@openwrt.org with nbd@nbd.name 2016-06-07 08:58:42 +02:00
mvswitch.h treewide: replace nbd@openwrt.org with nbd@nbd.name 2016-06-07 08:58:42 +02:00
psb6970.c unify extended vlan id swconfig attributes. AR8216 and PSB6970 used "pvid", IP17xx used "tag" and RTL8306 called it "vid". Change all to "vid" and annotate the description with the valid ID range. 2010-10-12 20:49:35 +00:00
rtl8306.c treewide: replace nbd@openwrt.org with nbd@nbd.name 2016-06-07 08:58:42 +02:00
rtl8366_smi.c strict_strtoul is obsolete, use kstrtoul instead 2013-07-27 09:23:18 +00:00
rtl8366_smi.h linux: generic: rtl836*: fix compilation with !CONFIG_OF 2012-12-15 13:32:02 +00:00
rtl8366rb.c generic: add port mirroring/monitoring capability to rtl8366rb switch 2013-06-04 13:25:52 +00:00
rtl8366s.c fix rtl8366s OF binding 2013-04-12 18:56:05 +00:00
rtl8367.c kernel: rtl8367(b): fix build error 2016-11-19 17:57:04 +01:00
rtl8367b.c kernel: rtl8367(b): fix build error 2016-11-19 17:57:04 +01:00
swconfig.c swconfig: revert the portmapping patches, they seem to cause a segfault 2016-08-16 10:20:01 +02:00
swconfig_leds.c switch: allow Ethernet port LEDs to show specific port speeds only 2016-02-25 13:31:26 +00:00