[PATCH 1/2] mac80211: do not iterate active interfaces when in re-configure
Johannes Berg
johannes at sipsolutions.net
Mon Dec 5 07:00:54 PST 2016
On Mon, 2016-12-05 at 06:57 -0800, Ben Greear wrote:
> I think clearing sdata-in-driver would fix the ath10k problem, at
> least, but I was afraid it would break something else in mac80211 or
> maybe in other thick firmware drivers.
It's pretty much an internal thing - not sure what it'd break. OTOH,
some drivers might actually assume that iterating finds them all, if
they never clear the data even across a restart?
> One way or another, we cannot be iterating over interfaces while
> the interfaces are at the same time being (re)added.
Well, we obviously *can* be, and we do in fact do that - it's just that
ath10k specifically has issues with the data it's putting there, no?
> Maybe mac80211 should explicitly remove all interfaces from the
> driver during crash recovery?
I don't think that'll work. Removing them would interact with the
firmware, which is dead, etc. That'd just cause trouble.
> And the behaviour needs to be clearly documented somewhere
> easy to find so that we can think about and program to the correct
> API behaviour.
We assume that the driver resets all its internal state - this whole
interface iteration is a corner case we hadn't considered, I suppose.
johannes
More information about the ath10k
mailing list