suppressing mesh

Paul Fox pgf at laptop.org
Thu Dec 23 13:49:45 EST 2010


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.lahaye at 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, pgf at laptop.org
 > _______________________________________________
 > Devel mailing list
 > Devel at lists.laptop.org
 > http://lists.laptop.org/listinfo/devel

=---------------------
 paul fox, pgf at laptop.org



More information about the Devel mailing list