1 diff -urN linux-2.5/drivers/net/ppp_generic.c pmac-2.5/drivers/net/ppp_generic.c
2 --- linux-2.5/drivers/net/ppp_generic.c 2004-10-29 07:03:21.000000000 +1000
3 +++ pmac-2.5/drivers/net/ppp_generic.c 2004-11-15 08:53:54.000000000 +1100
5 * PPP driver, written by Michael Callahan and Al Longyear, and
6 * subsequently hacked by Paul Mackerras.
8 - * ==FILEVERSION 20020217==
9 + * ==FILEVERSION 20041108==
12 #include <linux/config.h>
17 + if (pf->kind == INTERFACE) {
19 + * Return 0 (EOF) on an interface that has no
20 + * channels connected, unless it is looping
21 + * network traffic (demand mode).
23 + struct ppp *ppp = PF_TO_PPP(pf);
24 + if (ppp->n_channels == 0
25 + && (ppp->flags & SC_LOOP_TRAFFIC) == 0)
29 if (file->f_flags & O_NONBLOCK)
32 mask |= POLLIN | POLLRDNORM;
35 + else if (pf->kind == INTERFACE) {
36 + /* see comment in ppp_read */
37 + struct ppp *ppp = PF_TO_PPP(pf);
38 + if (ppp->n_channels == 0
39 + && (ppp->flags & SC_LOOP_TRAFFIC) == 0)
40 + mask |= POLLIN | POLLRDNORM;
47 /* remove it from the ppp unit's list */
49 list_del(&pch->clist);
51 + if (--ppp->n_channels == 0)
52 + wake_up_interruptible(&ppp->file.rwait);
54 if (atomic_dec_and_test(&ppp->file.refcnt))
55 ppp_destroy_interface(ppp);