On Saturday 24 December 2016 19:17:30 Pavel Machek wrote: > Hi! > > > In case there is no valid MAC address kernel generates random one. > > This patch propagate this generated MAC address back to NVS data > > which will be uploaded to wl1251 chip. So HW would have same MAC > > address as linux kernel uses. > > > > return 0; > > > > } > > > > +static int wl1251_write_nvs_mac(struct wl1251 *wl) > > +{ > > The name is quite confusing, this sounds like writing into > non-volatile storage. > > > + int i; > > + > > + if (wl->nvs_len < 0x24) > > + return -ENODATA; > > + > > + /* length is 2 and data address is 0x546c (mask is 0xfffe) */ > > You don't actually check for the mask. It is quite complicated. { 0x6d, 0x54 } (= 0x546d) in data represent address 0x546c and content are data. You need to apply mask 0xfffe for 0x546d and you get address where data will be written (so 0x546c). > > + if (wl->nvs[0x19] != 2 || wl->nvs[0x1a] != 0x6d || wl->nvs[0x1b] > > != 0x54) + return -EINVAL; > > You have two copies of these. Does it make sense to move it to helper > function? I'm thinking if checks is really needed. But probably moving it to separate function is good idea. -- Pali Rohár pali.rohar@xxxxxxxxx
Attachment:
signature.asc
Description: This is a digitally signed message part.