Code to request version of POD, Variax interface
        (and maybe other devices).
 */
-static const char line6_request_version0[] = {
+static const char line6_request_version[] = {
        0xf0, 0x7e, 0x7f, 0x06, 0x01, 0xf7
 };
 
-/*
-       Copy of version request code with GFP_KERNEL flag for use in URB.
-*/
-static const char *line6_request_version;
-
 struct usb_line6 *line6_devices[LINE6_MAX_DEVICES];
 
 /**
 */
 int line6_version_request_async(struct usb_line6 *line6)
 {
-       return line6_send_raw_message_async(line6, line6_request_version,
-                                           sizeof(line6_request_version0));
+       char *buffer;
+       int retval;
+
+       buffer = kmalloc(sizeof(line6_request_version), GFP_ATOMIC);
+       if (buffer == NULL) {
+               dev_err(line6->ifcdev, "Out of memory");
+               return -ENOMEM;
+       }
+
+       memcpy(buffer, line6_request_version, sizeof(line6_request_version));
+
+       retval = line6_send_raw_message_async(line6, buffer,
+                                             sizeof(line6_request_version));
+       kfree(buffer);
+       return retval;
 }
 
 /*
 */
 static int __init line6_init(void)
 {
-       int retval;
-
        printk(KERN_INFO "%s driver version %s\n", DRIVER_NAME, DRIVER_VERSION);
 
-       retval = usb_register(&line6_driver);
-
-       if (retval) {
-               err("usb_register failed. Error number %d", retval);
-               return retval;
-       }
-
-       line6_request_version = kmalloc(sizeof(line6_request_version0),
-                                       GFP_KERNEL);
-
-       if (line6_request_version == NULL) {
-               err("Out of memory");
-               return -ENOMEM;
-       }
-
-       memcpy((char *)line6_request_version, line6_request_version0,
-              sizeof(line6_request_version0));
-
-       return retval;
+       return usb_register(&line6_driver);
 }
 
 /*
        }
 
        usb_deregister(&line6_driver);
-       kfree(line6_request_version);
 }
 
 module_init(line6_init);