OSDN Git Service

Add Android.mk
[android-x86/external-wireless-tools.git] / wireless_tools / iw261_restore_full_essid.diff
1 diff -u -p linux/net/core/wireless.j2.c linux/net/core/wireless.c
2 --- linux/net/core/wireless.j2.c        2007-03-21 14:41:51.000000000 -0700
3 +++ linux/net/core/wireless.c   2007-03-21 14:41:08.000000000 -0700
4 @@ -766,39 +766,11 @@ static int ioctl_standard_call(struct ne
5                 int     extra_size;
6                 int     user_length = 0;
7                 int     err;
8 -               int     essid_compat = 0;
9  
10                 /* Calculate space needed by arguments. Always allocate
11                  * for max space. Easier, and won't last long... */
12                 extra_size = descr->max_tokens * descr->token_size;
13  
14 -               /* Check need for ESSID compatibility for WE < 21 */
15 -               switch (cmd) {
16 -               case SIOCSIWESSID:
17 -               case SIOCGIWESSID:
18 -               case SIOCSIWNICKN:
19 -               case SIOCGIWNICKN:
20 -                       if (iwr->u.data.length == descr->max_tokens + 1)
21 -                               essid_compat = 1;
22 -                       else if (IW_IS_SET(cmd) && (iwr->u.data.length != 0)) {
23 -                               char essid[IW_ESSID_MAX_SIZE + 1];
24 -
25 -                               err = copy_from_user(essid, iwr->u.data.pointer,
26 -                                                    iwr->u.data.length *
27 -                                                    descr->token_size);
28 -                               if (err)
29 -                                       return -EFAULT;
30 -
31 -                               if (essid[iwr->u.data.length - 1] == '\0')
32 -                                       essid_compat = 1;
33 -                       }
34 -                       break;
35 -               default:
36 -                       break;
37 -               }
38 -
39 -               iwr->u.data.length -= essid_compat;
40 -
41                 /* Check what user space is giving us */
42                 if(IW_IS_SET(cmd)) {
43                         /* Check NULL pointer */
44 @@ -841,7 +813,6 @@ static int ioctl_standard_call(struct ne
45  #endif /* WE_IOCTL_DEBUG */
46  
47                 /* Create the kernel buffer */
48 -               /*    kzalloc ensures NULL-termination for essid_compat */
49                 extra = kzalloc(extra_size, GFP_KERNEL);
50                 if (extra == NULL) {
51                         return -ENOMEM;
52 @@ -866,8 +837,6 @@ static int ioctl_standard_call(struct ne
53                 /* Call the handler */
54                 ret = handler(dev, &info, &(iwr->u), extra);
55  
56 -               iwr->u.data.length += essid_compat;
57 -
58                 /* If we have something to return to the user */
59                 if (!ret && IW_IS_GET(cmd)) {
60                         /* Check if there is enough buffer up there */