aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/uio
diff options
context:
space:
mode:
authorEsben Haabendal <esben@geanix.com>2019-05-23 14:02:20 +0200
committerDavid S. Miller <davem@davemloft.net>2019-05-23 09:33:57 -0700
commit1bd33bf0fe6d3012410db0302187199871b510a0 (patch)
tree1a5e9f58c4d08510a24af48a51aa4174974d0c57 /drivers/uio
parentnet: ll_temac: Do not make promiscuous mode sticky on multicast (diff)
downloadlinux-dev-1bd33bf0fe6d3012410db0302187199871b510a0.tar.xz
linux-dev-1bd33bf0fe6d3012410db0302187199871b510a0.zip
net: ll_temac: Prepare indirect register access for multicast support
With .ndo_set_rx_mode/temac_set_multicast_list() being called in atomic context (holding addr_list_lock), and temac_set_multicast_list() needing to access temac indirect registers, the mutex used to synchronize indirect register is a no-no. Replace it with a spinlock, and avoid sleeping in temac_indirect_busywait(). To avoid excessive holding of the lock, which is now a spinlock, the temac_device_reset() function is changed to only hold the lock for short periods. With timeouts, it could be holding the spinlock for more than 2 seconds. Signed-off-by: Esben Haabendal <esben@geanix.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/uio')
0 files changed, 0 insertions, 0 deletions