ALSA: snd-usb-caiaq: fix smatch warnings
Fix three smatch warnings recently introduced:
sound/usb/caiaq/device.c:166 usb_ep1_command_reply_dispatch() warn:
variable dereferenced before check 'cdev' (see line 163)
sound/usb/caiaq/device.c:517 snd_disconnect() warn: variable
dereferenced before check 'card' (see line 514)
sound/usb/caiaq/input.c:510 snd_usb_caiaq_ep4_reply_dispatch() warn:
variable dereferenced before check 'cdev' (see line 506)
Signed-off-by: Daniel Mack <zonque@gmail.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff --git a/sound/usb/caiaq/device.c b/sound/usb/caiaq/device.c
index d898f73..48b63cc 100644
--- a/sound/usb/caiaq/device.c
+++ b/sound/usb/caiaq/device.c
@@ -159,8 +159,8 @@
static void usb_ep1_command_reply_dispatch (struct urb* urb)
{
int ret;
+ struct device *dev = &urb->dev->dev;
struct snd_usb_caiaqdev *cdev = urb->context;
- struct device *dev = caiaqdev_to_dev(cdev);
unsigned char *buf = urb->transfer_buffer;
if (urb->status || !cdev) {
@@ -511,13 +511,13 @@
static void snd_disconnect(struct usb_interface *intf)
{
struct snd_card *card = usb_get_intfdata(intf);
- struct snd_usb_caiaqdev *cdev = caiaqdev(card);
- struct device *dev;
+ struct device *dev = intf->usb_dev;
+ struct snd_usb_caiaqdev *cdev;
if (!card)
return;
- dev = caiaqdev_to_dev(cdev);
+ cdev = caiaqdev(card);
dev_dbg(dev, "%s(%p)\n", __func__, intf);
snd_card_disconnect(card);
diff --git a/sound/usb/caiaq/input.c b/sound/usb/caiaq/input.c
index fe8f4b4..efc70ae 100644
--- a/sound/usb/caiaq/input.c
+++ b/sound/usb/caiaq/input.c
@@ -503,8 +503,8 @@
static void snd_usb_caiaq_ep4_reply_dispatch(struct urb *urb)
{
struct snd_usb_caiaqdev *cdev = urb->context;
- struct device *dev = caiaqdev_to_dev(cdev);
unsigned char *buf = urb->transfer_buffer;
+ struct device *dev = &urb->dev->dev;
int ret;
if (urb->status || !cdev || urb != cdev->ep4_in_urb)