Skip to content

Commit

Permalink
ALSA: line6: Minor tidy up in line6_probe()
Browse files Browse the repository at this point in the history
Move the check of multi configurations before snd_card_new() as a
short path, and reduce superfluous pointer references.

Tested-by: Chris Rorvick <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
  • Loading branch information
tiwai committed Jan 28, 2015
1 parent aca514b commit d6ca69d
Showing 1 changed file with 9 additions and 11 deletions.
20 changes: 9 additions & 11 deletions sound/usb/line6/driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -495,6 +495,10 @@ int line6_probe(struct usb_interface *interface,
if (WARN_ON(data_size < sizeof(*line6)))
return -EINVAL;

/* we don't handle multiple configurations */
if (usbdev->descriptor.bNumConfigurations != 1)
return -ENODEV;

ret = snd_card_new(&interface->dev,
SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1,
THIS_MODULE, data_size, &card);
Expand All @@ -508,10 +512,10 @@ int line6_probe(struct usb_interface *interface,
line6->usbdev = usbdev;
line6->ifcdev = &interface->dev;

strcpy(card->id, line6->properties->id);
strcpy(card->id, properties->id);
strcpy(card->driver, DRIVER_NAME);
strcpy(card->shortname, line6->properties->name);
sprintf(card->longname, "Line 6 %s at USB %s", line6->properties->name,
strcpy(card->shortname, properties->name);
sprintf(card->longname, "Line 6 %s at USB %s", properties->name,
dev_name(line6->ifcdev));
card->private_free = line6_destruct;

Expand All @@ -520,20 +524,14 @@ int line6_probe(struct usb_interface *interface,
/* increment reference counters: */
usb_get_dev(usbdev);

/* we don't handle multiple configurations */
if (usbdev->descriptor.bNumConfigurations != 1) {
ret = -ENODEV;
goto error;
}

/* initialize device info: */
dev_info(&interface->dev, "Line 6 %s found\n", properties->name);

/* query interface number */
interface_number = interface->cur_altsetting->desc.bInterfaceNumber;

ret = usb_set_interface(usbdev, interface_number,
properties->altsetting);
properties->altsetting);
if (ret < 0) {
dev_err(&interface->dev, "set_interface failed\n");
goto error;
Expand All @@ -555,7 +553,7 @@ int line6_probe(struct usb_interface *interface,
/* creation of additional special files should go here */

dev_info(&interface->dev, "Line 6 %s now attached\n",
line6->properties->name);
properties->name);

return 0;

Expand Down

0 comments on commit d6ca69d

Please sign in to comment.