On Tue, Jun 28, 2011 at 3:00 AM, Mohammed Shafi <shafi.wireless@xxxxxxxxx> wrote: > On Mon, Jun 27, 2011 at 11:07 PM, Fred Matthews <fredmm@xxxxxxxxxxxxx> wrote: >> Hi all, >> >> Much appreciated Mohammed Shafi, disabling aggregation works when >> replacing those lines with >> sc->sc_flags &= ~SC_OP_TXAGGR; >> sc->sc_flags &= ~SC_OP_RXAGGR; >> only issue is I must always recompile compat-wireless to >> re-enable/disable it again. I tried to port it using debugfs to be >> able to enable and disable at runtime but ath9k kept rebooting. > > I am not sure we can enable/disable aggregation via debugfs, these > flags seem are set at initialization and based on this lot of things > happen in tx-path, initializing TID structure, ampdu action, rate > control etc. > The project I am on we have to deal with a situation where we change the hardware environment and thus have to change some of the initialization parameters. Obviously the environment is a little unique, but I believe this should work for you. Before the changes are made we do a if (sc->nvifs > 0) { printk(KERN_INFO "ath9k:card has an open interface\n"); return -EBUSY; } pdev = to_pci_dev(sc->dev); pdev->driver->remove(pdev); then we make our hardware change and then do a pci_id = pci_match_id(pdev->driver->id_table, pdev); err = pdev->driver->probe(pdev, pci_id); which gives us a re-initialized instance of ath_hw and ath_softc for the radio Hope this helps! V/r, Daniel P. Smith -- 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