Bob Copeland <me@xxxxxxxxxxxxxxx> writes: > Rather than always advertising mesh support and then generating > an error when the user attempts to bring up the device without > rawmode, only advertise it when available: that is, if the module > is loaded with rawmode=1, the firmware supports it, and the > device/firmware supports an AP virtual interface internally. > > Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> > --- > Actually, I think this is perhaps worse than just spitting out an > error on interface up, but I'm sending anyway because it was requested > a couple of times in review. > > The reason this is so ugly is that the structures in question are > defined const in the API; when also declared const in the driver, > they go into the .rodata section and the interface limit types > cannot be changed without causing a fault. So this patch removes > const in a bunch of places and adds casts to const where required. > > Another approach might be changing cfg80211 to silently remove interface > types from advertised combinations when the given mode is not also > in interface_modes, instead of warning and failing registration as it > does today. But this would make errors here harder to spot. > > Or we can keep it the way it is with the driver failing and showing an > error on add interface. I'm okay with any of these approaches really. Yeah, I'm with you. It would be nice to advertise the mesh feature on when the firmware supports it, but I think this is just too complicated. So I'm dropping this for now, but we can revisit later if there's a need for that. -- Kalle Valo -- 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