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
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to