Messages in this thread | | | Date | Tue, 28 Jun 2011 08:14:30 -0400 | Subject | Re: [ath9k-devel] Patching ath9k/mac80211 to change MAC layer features | From | Daniel Smith <> |
| |
On Tue, Jun 28, 2011 at 3:00 AM, Mohammed Shafi <shafi.wireless@gmail.com> wrote: > On Mon, Jun 27, 2011 at 11:07 PM, Fred Matthews <fredmm@hotmail.co.uk> 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-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |