Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Oct 2010 11:12:41 +1100 (EST)
From:      Bruce Evans <brde@optusnet.com.au>
To:        Jung-uk Kim <jkim@FreeBSD.org>
Cc:        src-committers@FreeBSD.org, Rui Paulo <rpaulo@FreeBSD.org>, Roman Divacky <rdivacky@FreeBSD.org>, Bruce Evans <brde@optusnet.com.au>, svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org
Subject:   Re: svn commit: r213793 - in head/sys/dev: ce cp
Message-ID:  <20101015111106.P1144@besplex.bde.org>
In-Reply-To: <201010141558.03154.jkim@FreeBSD.org>
References:  <201010131717.o9DHHobD094458@svn.freebsd.org> <201010131359.44590.jkim@FreeBSD.org> <20101014113203.N1092@besplex.bde.org> <201010141558.03154.jkim@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 14 Oct 2010, Jung-uk Kim wrote:

> On Wednesday 13 October 2010 09:16 pm, Bruce Evans wrote:
>> On Wed, 13 Oct 2010, Jung-uk Kim wrote:
>>> ...
>>> I think the attached patch should do.
>>
>> % Index: sys/dev/ce/if_ce.c
>> %
>> ===================================================================
>> % --- sys/dev/ce/if_ce.c	(revision 213782)
>> % +++ sys/dev/ce/if_ce.c	(working copy)
>> % @@ -1313,9 +1313,11 @@ static int ce_ioctl (struct cdev *dev,
>> u_long cmd, %  			IFP2SP(d->ifp)->pp_flags &= ~(PP_FR);
>> %  			IFP2SP(d->ifp)->pp_flags |= PP_KEEPALIVE;
>> %  			d->ifp->if_flags |= PP_CISCO;
>> % -		} else if (! strcmp ("fr", (char*)data) && PP_FR) {
>> % +#if PP_FR > 0
>> % +		} else if (! strcmp ("fr", (char*)data)) {
>> %  			d->ifp->if_flags &= ~(PP_CISCO);
>> %  			IFP2SP(d->ifp)->pp_flags |= PP_FR | PP_KEEPALIVE;
>> % +#endif
>> %  		} else if (! strcmp ("ppp", (char*)data)) {
>> %  			IFP2SP(d->ifp)->pp_flags &= ~PP_FR;
>> %  			IFP2SP(d->ifp)->pp_flags &= ~PP_KEEPALIVE;
>> % ...
>>
>> This gives different behaviour if PP_FR is even or negative.  Even
>> values used to fail the match, but now the match succeeds for even
>> values > 0 and then the bits of PP_FR are put in pp_flags.
>> Negative values used to pass the match if they were odd, but now
>> the match is not attempted for any negative value.  It just might
>> be useful for PP_FR to have multiple bits set, with the 1 bit used
>> for enabling this and the other bits used for setting pp_flags.  If
>> not, then only values of 0 and 1 for PP_FR make sense, and the
>> ifdef should be "#if PP_FR == 1".
>
> I don't understand your remarks about PP_FR being even/odd.  Maybe you
> are confused '&&' with '&'? ;-)

Oops.

> Is the attached patch okay for you, then?

This seems to restore the original behaviour.

[... Patch lost to attachment.]

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20101015111106.P1144>