{
        struct device *ddev = &dev->dev;
        int ncfg = dev->descriptor.bNumConfigurations;
-       int result = -ENOMEM;
        unsigned int cfgno, length;
        unsigned char *bigbuffer;
        struct usb_config_descriptor *desc;
+       int result;
 
        if (ncfg > USB_MAXCONFIG) {
                dev_warn(ddev, "too many configurations: %d, "
        length = ncfg * sizeof(struct usb_host_config);
        dev->config = kzalloc(length, GFP_KERNEL);
        if (!dev->config)
-               goto err2;
+               return -ENOMEM;
 
        length = ncfg * sizeof(char *);
        dev->rawdescriptors = kzalloc(length, GFP_KERNEL);
        if (!dev->rawdescriptors)
-               goto err2;
+               return -ENOMEM;
 
        desc = kmalloc(USB_DT_CONFIG_SIZE, GFP_KERNEL);
        if (!desc)
-               goto err2;
+               return -ENOMEM;
 
        for (cfgno = 0; cfgno < ncfg; cfgno++) {
                /* We grab just the first descriptor so we know how long
 err:
        kfree(desc);
        dev->descriptor.bNumConfigurations = cfgno;
-err2:
-       if (result == -ENOMEM)
-               dev_err(ddev, "out of memory\n");
+
        return result;
 }