diff options
Diffstat (limited to 'package/ar7-atm')
| -rw-r--r-- | package/ar7-atm/patches/170-add-hotplug-status.patch | 128 | 
1 files changed, 0 insertions, 128 deletions
| diff --git a/package/ar7-atm/patches/170-add-hotplug-status.patch b/package/ar7-atm/patches/170-add-hotplug-status.patch deleted file mode 100644 index 121a1e4c5..000000000 --- a/package/ar7-atm/patches/170-add-hotplug-status.patch +++ /dev/null @@ -1,128 +0,0 @@ -diff -urN sangam_atm-D7.03.01.00.orig/tn7dsl.c sangam_atm-D7.03.01.00/tn7dsl.c ---- sangam_atm-D7.03.01.00.orig/tn7dsl.c	2008-01-05 03:11:03.000000000 +0100 -+++ sangam_atm-D7.03.01.00/tn7dsl.c	2008-01-06 18:13:24.000000000 +0000 -@@ -109,6 +109,11 @@ - #include <linux/vmalloc.h> - #include <linux/file.h> - #include <linux/firmware.h> -+#include <linux/skbuff.h> -+#include <linux/netlink.h> -+#include <net/sock.h> -+#include <linux/kobject.h> -+#include <asm/uaccess.h> -  - #include <asm/io.h> - #include <asm/ar7/ar7.h> -@@ -296,6 +301,8 @@ - /* externs */ - extern struct atm_dev *mydev; - extern unsigned int oamFarLBCount[4]; -+extern struct sock *uevent_sock; -+extern u64 uevent_next_seqnum(void); -  - /* module wide declars */ - static PITIDSLHW_T    pIhw; -@@ -333,6 +340,75 @@ - 	return 0; - } -  -+static inline void add_msg(struct sk_buff *skb, char *msg)  -+{  -+	char *scratch;  -+	scratch = skb_put(skb, strlen(msg) + 1);  -+	sprintf(scratch, msg);  -+}  -+ -+static void hotplug_dsl_status(void) -+{ -+	struct sk_buff *skb; -+	size_t len; -+	char *scratch, *dsl_status; -+	char buf[128]; -+	u64 seq; -+	 -+	if (!uevent_sock) { -+        	printk("avsar: unable to create netlink socket!\n"); -+        	return; -+	}     -+ -+	switch (pIhw->AppData.bState) -+	{ -+	case RSTATE_TEST: -+                dsl_status="TEST"; -+		break; -+	case RSTATE_IDLE: -+		dsl_status="IDLE"; -+                break; -+	case RSTATE_INIT: -+		dsl_status="INIT"; -+                break; -+	case RSTATE_HS: -+		dsl_status="HANDSHAKE"; -+                break; -+	case RSTATE_RTDL: -+		dsl_status="RETRAIN"; -+                break; -+	case RSTATE_SHOWTIME: -+		dsl_status="SHOWTIME"; -+                break; -+	default: -+		dsl_status="UNKNOWN"; -+	} -+ -+	/* allocate message with the maximum possible size */ -+	len = strlen(dsl_status) +2; -+	skb = alloc_skb(len + 2048, GFP_KERNEL); -+	if (!skb) -+		return; -+	 -+	/* add header */ -+	scratch = skb_put(skb, len); -+	sprintf(scratch, "%s@",dsl_status); -+ -+	/* copy keys to our continuous event payload buffer */ -+	add_msg(skb, "HOME=/"); -+	add_msg(skb, "PATH=/sbin:/bin:/usr/sbin:/usr/bin"); -+	add_msg(skb, "SUBSYSTEM=atm"); -+	add_msg(skb, "DEVICENAME=avsar0"); -+	snprintf(buf, 128, "ACTION=%s", dsl_status);  -+	add_msg(skb, buf); -+	seq = uevent_next_seqnum(); -+	snprintf(buf, 128, "SEQNUM=%llu", (unsigned long long)seq); -+	add_msg(skb, buf); -+	 -+	NETLINK_CB(skb).dst_group = 1; -+	netlink_broadcast(uevent_sock, skb, 0, 1, GFP_KERNEL); -+} -+ -  - int os_atoi(const char *pStr) - { -@@ -2558,7 +2634,7 @@ -  - inline int tn7dsl_handle_interrupt(void) - { --  int intsrc; -+  int intsrc,curState; -   unsigned char cMsgRa[6]; -   short margin; -   extern unsigned int def_sar_inter_pace;   //Sorry -@@ -2573,7 +2649,7 @@ -  -     if (nohost_flag) return 0; -  -- -+    curState=pIhw->AppData.bState; -     dslhal_api_handleTrainingInterrupt(pIhw, intsrc); -  -     if(pIhw->lConnected == TC_SYNC) -@@ -2704,8 +2780,8 @@ -       } -  - #endif -- -     } -+    if(pIhw->AppData.bState != curState) hotplug_dsl_status(); -  -     //UR8_MERGE_START CQ10442 Manjula K -     if (pIhw->AppData.SRA) | 
