This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / drivers / usb / gadget / rndis.c
index 1cd445a..676726a 100644 (file)
@@ -1323,15 +1323,11 @@ int rndis_proc_read (char *page, char **start, off_t off, int count, int *eof,
 int rndis_proc_write (struct file *file, const char __user *buffer, 
                      unsigned long count, void *data)
 {
-       rndis_params *p = data;
        u32 speed = 0;
        int i, fl_speed = 0;
        
        for (i = 0; i < count; i++) {
-               char c;
-               if (get_user(c, buffer))
-                       return -EFAULT;
-               switch (c) {
+               switch (*buffer) {
                case '0':
                case '1':
                case '2':
@@ -1343,19 +1339,21 @@ int rndis_proc_write (struct file *file, const char __user *buffer,
                case '8':
                case '9':
                        fl_speed = 1;
-                       speed = speed*10 + c - '0';
+                       speed = speed*10 + *buffer - '0';
                        break;
                case 'C':
                case 'c':
-                       rndis_signal_connect (p->confignr);
+                       rndis_signal_connect (((rndis_params *) data)
+                               ->confignr);
                        break;
                case 'D':
                case 'd':
-                       rndis_signal_disconnect(p->confignr);
+                       rndis_signal_disconnect (((rndis_params *) data)
+                               ->confignr);
                        break;
                default: 
-                       if (fl_speed) p->speed = speed;
-                       else DEBUG ("%c is not valid\n", c);
+                       if (fl_speed) ((rndis_params *) data)->speed = speed;
+                       else DEBUG ("%c is not valid\n", *buffer);
                        break;
                }