Hi Lennert, On Tue, Jul 21, 2015 at 05:44:47PM +0300, Lennert Buytenhek wrote: > When transmitting a packet via a mac802154 driver that can sleep in > its transmit function, mac802154 defers the call to the driver's > transmit function to a per-device workqueue. > > However, mac802154 uses a single global work_struct for this, which > means that if you have more than one registered mac802154 interface > in the system, and you transmit on more than one of them at the same > time, you'll very easily cause memory corruption. > > This patch moves the deferred transmit processing state from global > variables to struct ieee802154_local, and this seems to fix the memory > corruption issue. > > Signed-off-by: Lennert Buytenhek <buytenh@xxxxxxxxxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> > --- > There were patches for this issue on the mailing list, but it > doesn't seem that a fix for this issue has been applied yet -- how > about this? > yes, something went wrong. Nevertheless I like your patch which also improved by calling INIT_WORK once at hardware alloc, great. :-) Thanks Lennert. - Alex -- To unsubscribe from this list: send the line "unsubscribe linux-wpan" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html