From: Florian Fainelli <f.faine...@gmail.com> Date: Wed, 25 Apr 2018 16:21:51 -0700
> 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: d156576362c0 ("net: systemport: Establish lower/upper queue mapping") > Signed-off-by: Florian Fainelli <f.faine...@gmail.com> Applied and queued up for -stable, thanks.