46 lines
1.4 KiB
Diff
46 lines
1.4 KiB
Diff
Index: linux-4.1.52/drivers/net/ppp/ppp_generic.c
|
|
===================================================================
|
|
--- linux-4.1.52.orig/drivers/net/ppp/ppp_generic.c 2018-01-22 14:21:12.281630779 +0800
|
|
+++ linux-4.1.52/drivers/net/ppp/ppp_generic.c 2018-01-23 13:21:26.001634991 +0800
|
|
@@ -3028,7 +3028,7 @@
|
|
* num[1] == 1: vlanMux mode: ppp0.100, ppp1.200...
|
|
* num[1] == 2: msc (multiple service mode) ppp0_1, ppp1_3...
|
|
* num[1] == 3: pppoa0, pppoa1...
|
|
- *
|
|
+ * num[1] == 4: pppowwan
|
|
*/
|
|
num[0] = u<<(32-(FIELD2+FIELD1+FIELD0))>>(32-FIELD0);
|
|
num[1] = u<<(32-(FIELD2+FIELD1))>>(32-FIELD1);
|
|
@@ -3049,6 +3049,11 @@
|
|
{
|
|
sprintf(dev->name, "pppoa%d", num[0]);
|
|
}
|
|
+#if 1 /* support pppowwan */
|
|
+ else if (num[1] == 4){ /* pppowwan */
|
|
+ sprintf(dev->name, "pppowwan%d", num[0]);
|
|
+ }
|
|
+#endif
|
|
}
|
|
#else
|
|
sprintf(dev->name, "ppp%d", unit);
|
|
@@ -3106,6 +3111,9 @@
|
|
ppp_lock(ppp);
|
|
if (!ppp->closing) {
|
|
#if defined(CONFIG_BCM_KF_PPP)
|
|
+#if 1 /* support pppowwan */
|
|
+ if(!strstr(ppp->dev->name,"pppowwan")){
|
|
+#endif
|
|
int err;
|
|
struct net_device *next_dev;
|
|
next_dev = netdev_path_next_dev(ppp->dev);
|
|
@@ -3118,6 +3126,9 @@
|
|
}
|
|
if(next_dev != NULL)
|
|
dev_put(next_dev);
|
|
+#if 1 /* support pppowwan */
|
|
+ }
|
|
+#endif
|
|
#endif
|
|
ppp->closing = 1;
|
|
ppp_unlock(ppp);
|