On Mon, Sep 28 2020 at 12:51, Shannon Nelson wrote: > On 9/28/20 10:24 AM, Shannon Nelson wrote: >>> ionic_lif_addr() can be called from: >>> >>> 1) ->ndo_set_rx_mode() which is under netif_addr_lock_bh()) so it >>> must not >>> sleep. >>> >>> 2) Init and setup functions which are in fully preemptible task >>> context. >>> >>> _ionic_lif_rx_mode() has only one call path with BH disabled. > > Now that I've had my coffee, let's look at this again - there are > multiple paths that get us to _ionic_lif_rx_mode(): > > .ndo_set_rx_mode > ionic_set_rx_mode, > _ionic_lif_rx_mode > > { ionic_open, ionic_lif_handle_fw_up, ionic_start_queues_reconfig } > ionic_txrx_init > ionic_set_rx_mode > _ionic_lif_rx_mode Hrm. Let me stare at it again...