after testing the patch below i've opened d.l.o #10579 to track this. a revised patch is attached to that ticket. i can commit/push this change if it's wanted. i don't know when it would get into a release, but the kernel rpm would be available shortly after.
the revised patch adds a "libertas_disablemesh" parameter, which, if set, permanently disables until the module is reloaded without it. paul paul wrote: > i wrote: > > martin wrote: > > > On Fri, Dec 17, 2010 at 6:15 PM, Martin Abente > > > <martin.abente.lah...@gmail.com> wrote: > > > > I wrote this script that is a little bit better than just waiting N > > seconds, > > > > and it seems to work fine: > > > ... > > > > > > great! > > > > > > > But I like Martin's idea better, just not sure how to make it work > atm. > > > > > > embed exactly that chunk of code you wrote at the end of the function > > > I linked to earlier. > > > > > > I'm 99.9% sure it'll just work. If/when it does, we make it > > > conditional on a config option and pester pgf to include it an > > > release. > > > > this actually sounds like a perfect use for the resume script > > hook to me, since they're already spawned into the background. > > is "mesh off" a general problem? > > so it seems that being able to permanently suppress mesh on the XO-1 > is becoming a desired feature, since ad-hoc is the way forward if > mixing XO-1/1.5 in "under a tree" sharing. > > but powerd isn't the right place for fixing this. > > could others who've been inside libertas take a look at this small > patch? it adds a module parameter that would allow keeping mesh > disabled on card discovery, but also allow enabling it later on if > desired. (uncompiled/untested) > > paul > > diff --git a/drivers/net/wireless/libertas/main.c > b/drivers/net/wireless/libertas/main.c > index 3f81289..f355b6a 100644 > --- a/drivers/net/wireless/libertas/main.c > +++ b/drivers/net/wireless/libertas/main.c > @@ -39,6 +39,10 @@ unsigned int lbs_debug; > EXPORT_SYMBOL_GPL(lbs_debug); > module_param_named(libertas_debug, lbs_debug, int, 0644); > > +unsigned int lbs_startmesh = 1; > +EXPORT_SYMBOL_GPL(lbs_startmesh); > +module_param_named(libertas_startmesh, lbs_startmesh, int, 0644); > + > > /* This global structure is used to send the confirm_sleep command as > * fast as possible down to the firmware. */ > @@ -1347,7 +1351,10 @@ int lbs_start_card(struct lbs_private *priv) > /* Check mesh FW version and appropriately send the mesh start > * command > */ > - if (priv->mesh_fw_ver == MESH_FW_OLD) { > + if (!lbs_startmesh) { > + priv->mesh_tlv = 0; > + > + } if (priv->mesh_fw_ver == MESH_FW_OLD) { > /* Enable mesh, if supported, and work out which TLV it uses. > 0x100 + 291 is an unofficial value used in 5.110.20.pXX > 0x100 + 37 is the official value used in 5.110.21.pXX > > =--------------------- > paul fox, p...@laptop.org > _______________________________________________ > Devel mailing list > Devel@lists.laptop.org > http://lists.laptop.org/listinfo/devel =--------------------- paul fox, p...@laptop.org _______________________________________________ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel