On Sat, Dec 04, 2021 at 08:42:52PM +0200, Marian Postevca wrote: > Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> writes: > > > On Tue, Nov 30, 2021 at 12:12:29AM +0200, Marian Postevca wrote: > >> When listening for notifications through netlink of a new interface being > >> registered, sporadically, it is possible for the MAC to be read as zero. > >> The zero MAC address lasts a short period of time and then switches to a > >> valid random MAC address. > >> > >> This causes problems for netd in Android, which assumes that the interface > >> is malfunctioning and will not use it. > >> > >> In the good case we get this log: > >> InterfaceController::getCfg() ifName usb0 > >> hwAddr 92:a8:f0:73:79:5b ipv4Addr 0.0.0.0 flags 0x1002 > >> > >> In the error case we get these logs: > >> InterfaceController::getCfg() ifName usb0 > >> hwAddr 00:00:00:00:00:00 ipv4Addr 0.0.0.0 flags 0x1002 > >> > >> netd : interfaceGetCfg("usb0") > >> netd : interfaceSetCfg() -> ServiceSpecificException > >> (99, "[Cannot assign requested address] : ioctl() failed") > >> > >> The reason for the issue is the order in which the interface is setup, > >> it is first registered through register_netdev() and after the MAC > >> address is set. > >> > >> Fixed by first setting the MAC address of the net_device and after that > >> calling register_netdev(). > >> > >> Signed-off-by: Marian Postevca <posteuca@xxxxxxxxx> > >> --- > >> drivers/usb/gadget/function/u_ether.c | 16 ++++++---------- > >> 1 file changed, 6 insertions(+), 10 deletions(-) > > > > What commit does this fix? Should it go to stable kernel releases? > > > > thanks, > > > > greg k-h > > This fixes bcd4a1c40bee885e ("usb: gadget: u_ether: construct with > default values and add setters/getters"). > > I think it should go to stable kernel releases. > > Should I send a second version of the patch with a Fixes tag? Yes please, and a cc: stable on the line after the fixes tag. thanks, greg k-h