Hi Gabor, On Mon, Aug 19, 2013 at 3:11 PM, Gabor Juhos <juhosg@xxxxxxxxxxx> wrote: > The shared memory of the rt2800 devices is accessible > through the register offset range between 0x4000 and > 0x8000. The size of this range is 16KB only and on > devices which have more than 16KB of shared memory either > the low or the high part of the memory is accessible at a > time. > > Serialize all accesses to the shared memory by a mutex, > in order to avoid concurrent use of that. > > Signed-off-by: Gabor Juhos <juhosg@xxxxxxxxxxx> > --- [...] > @@ -993,8 +1001,11 @@ void rt2800_write_beacon(struct queue_entry *entry, struct txentry_desc *txdesc) > } > > beacon_base = HW_BEACON_BASE(entry->entry_idx); > + > + rt2800_shared_mem_lock(rt2x00dev); > rt2800_register_multiwrite(rt2x00dev, beacon_base, entry->skb->data, > entry->skb->len + padding_len); > + rt2800_shared_mem_unlock(rt2x00dev); > > /* > * Enable beaconing again. Beacons on PCI devices are updated from pre_tbtt or beacon_done tasklet. Looks like this will fail for pci then ... Helmut -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html