1
0
Fork 0
alistair23-linux/drivers/net/ethernet/broadcom
Florian Fainelli 1f3ccc3c3f net: systemport: Correclty disambiguate driver instances
While adding the DSA notifier, we will be sending DSA notifications with
info->master that is going to point to a particular net_device instance.

Our logic in bcm_sysport_map_queues() correctly disambiguates net_device
instances that are not covered by our own driver, but it will not make
sure that info->master points to a particular driver instance that we
are interested in. In a system where e.g: two or more SYSTEMPORT
instances are registered, this would lead in programming two or more
times the queue mapping, completely messing with the logic which does
the queue/port allocation and tracking.

Fix this by looking at the notifier_block pointer which is unique per
instance and allows us to go back to our driver private structure, and
in turn to the backing net_device instance.

Fixes: d156576362 ("net: systemport: Establish lower/upper queue mapping")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-04-27 13:14:44 -04:00
..
bnx2x bnx2x: Eliminate duplicate barriers on weakly-ordered archs 2018-03-26 12:47:55 -04:00
bnxt bnxt_en: Fix memory fault in bnxt_ethtool_init() 2018-04-19 16:35:09 -04:00
genet net: bcmgenet: Fix sparse warnings in bcmgenet_put_tx_csum() 2018-04-04 11:07:21 -04:00
Kconfig net: systemport: add NET_DSA dependency 2017-10-16 21:21:05 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
b44.c treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
b44.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bcm63xx_enet.c ethernet/broadcom: Use zeroing memory allocator than allocator/memset 2018-01-02 21:56:40 -05:00
bcm63xx_enet.h bcm63xx_enet: use platform device id directly for miibus name 2017-12-19 11:07:16 -05:00
bcmsysport.c net: systemport: Correclty disambiguate driver instances 2018-04-27 13:14:44 -04:00
bcmsysport.h net: systemport: Fix coalescing settings handling 2018-03-30 10:03:36 -04:00
bgmac-bcma-mdio.c net: bgmac: use PHY subsystem for initializing PHY 2017-01-31 13:44:49 -05:00
bgmac-bcma.c net: bgmac: enable master mode for BCM54210E and B50212E PHYs 2017-10-12 22:59:38 -07:00
bgmac-platform.c net: ethernet: bgmac: mark expected switch fall-through 2017-11-11 18:49:26 +09:00
bgmac.c net: bgmac: Fix endian access in bgmac_dma_tx_ring_free() 2018-04-01 22:20:48 -04:00
bgmac.h net: bgmac: Correctly annotate register space 2018-04-01 22:20:48 -04:00
bnx2.c ethernet: Use octal not symbolic permissions 2018-03-26 12:07:49 -04:00
bnx2.h ethernet/broadcom: use core min/max MTU checking 2016-10-18 11:34:18 -04:00
bnx2_fw.h bnx2-cnic: Driver Rebranding Changes 2015-02-20 15:46:49 -05:00
cnic.c cnic: Fix an error handling path in 'cnic_alloc_bnx2x_resc()' 2017-09-23 17:04:27 -07:00
cnic.h cnic: Rebranding cnic driver. 2014-06-25 16:27:27 -07:00
cnic_defs.h cnic: Rebranding cnic driver. 2014-06-25 16:27:27 -07:00
cnic_if.h cnic: Add the interfaces to get FC-NPIV table. 2015-08-06 21:54:12 -07:00
sb1250-mac.c ethernet: Use octal not symbolic permissions 2018-03-26 12:07:49 -04:00
tg3.c ethernet: Use octal not symbolic permissions 2018-03-26 12:07:49 -04:00
tg3.h tg3: APE heartbeat changes 2018-02-19 14:16:52 -05:00