[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e0c8417c-75bf-837f-01b5-60df302dafa7@pensando.io>
Date: Tue, 23 Jul 2019 15:50:43 -0700
From: Shannon Nelson <snelson@...sando.io>
To: David Miller <davem@...emloft.net>
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH v4 net-next 11/19] ionic: Add Rx filter and rx_mode ndo
support
On 7/23/19 2:33 PM, David Miller wrote:
> From: Shannon Nelson <snelson@...sando.io>
> Date: Mon, 22 Jul 2019 14:40:15 -0700
>
>> + if (in_interrupt()) {
>> + work = kzalloc(sizeof(*work), GFP_ATOMIC);
>> + if (!work) {
>> + netdev_err(lif->netdev, "%s OOM\n", __func__);
>> + return -ENOMEM;
>> + }
>> + work->type = add ? DW_TYPE_RX_ADDR_ADD : DW_TYPE_RX_ADDR_DEL;
>> + memcpy(work->addr, addr, ETH_ALEN);
>> + netdev_dbg(lif->netdev, "deferred: rx_filter %s %pM\n",
>> + add ? "add" : "del", addr);
>> + ionic_lif_deferred_enqueue(&lif->deferred, work);
>> + } else {
>> + netdev_dbg(lif->netdev, "rx_filter %s %pM\n",
>> + add ? "add" : "del", addr);
>> + if (add)
>> + return ionic_lif_addr_add(lif, addr);
>> + else
>> + return ionic_lif_addr_del(lif, addr);
>> + }
> I don't know about this.
>
> Generally interface address changes are expected to be synchronous.
Yeah, this bothers me a bit as well, but the address change calls come
in under spin_lock_bh(), and I'm reluctant to make an AdminQ call under
the _bh that could block for a few seconds.
sln
Powered by blists - more mailing lists