On 22-08-17 00:28, Hauke Mehrtens wrote:
brcmfmac uses a complicated netdev destructor handling. The
brcmf_net_attach() function just adds a normal destructor and later the
brcmf_add_if() function sets the needs_free_netdev callback.
The normal spatch was not applied correctly to this file, add a patch
before to try to fx this problem manually.
Way overdue, but better late than never. I think we prefer to use
spatch, but I understand the destructor handling in brcmfmac is complicated.
The story above does not tell it right. brcmf_add_if() is called first
doing the alloc_netdev() setting needs_free_netdev to true and
subsequently brcmf_net_attach() is called doing the
register_netdevice(). When that is successful and only then I set the
priv_destructor. The reason for this was to keep the error path simple,
because when register_netdevice() fails it calls the priv_destructor
although that is not documented in struct net_device:
* @priv_destructor: Called from unregister
I think I will make an attempt to change brcmfmac so we can get rid of
this patch file and rely on the spatch, but for now I am fine with it.
Regards,
Arend
--
To unsubscribe from this list: send the line "unsubscribe backports" in