ALSA: rme9652: Use common code in hdsp_get_iobox_version()
authorMarkus Elfring <elfring@users.sourceforge.net>
Tue, 5 Sep 2017 20:08:30 +0000 (22:08 +0200)
committerTakashi Iwai <tiwai@suse.de>
Thu, 7 Sep 2017 08:25:29 +0000 (10:25 +0200)
Add a jump target so that a bit of common code can be better reused
at the end of this function.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/rme9652/hdsp.c

index 0ff41f9ab43430a80dc37d8f7106dddccd6b6971..9f0f73875f01d8a0ed2a373d725a23a1e6c0b5ed 100644 (file)
@@ -793,11 +793,8 @@ static int hdsp_get_iobox_version (struct hdsp *hdsp)
 
                hdsp_write(hdsp, HDSP_control2Reg, HDSP_S200 | HDSP_PROGRAM);
                hdsp_write (hdsp, HDSP_fifoData, 0);
-               if (hdsp_fifo_wait(hdsp, 0, HDSP_SHORT_WAIT) < 0) {
-                       hdsp->io_type = Multiface;
-                       dev_info(hdsp->card->dev, "Multiface found\n");
-                       return 0;
-               }
+               if (hdsp_fifo_wait(hdsp, 0, HDSP_SHORT_WAIT) < 0)
+                       goto set_multi;
 
                hdsp_write(hdsp, HDSP_control2Reg, HDSP_S_LOAD);
                hdsp_write(hdsp, HDSP_fifoData, 0);
@@ -810,20 +807,14 @@ static int hdsp_get_iobox_version (struct hdsp *hdsp)
                hdsp_write(hdsp, HDSP_control2Reg, HDSP_S300);
                hdsp_write(hdsp, HDSP_control2Reg, HDSP_S_LOAD);
                hdsp_write(hdsp, HDSP_fifoData, 0);
-               if (hdsp_fifo_wait(hdsp, 0, HDSP_SHORT_WAIT) == 0) {
-                       hdsp->io_type = Multiface;
-                       dev_info(hdsp->card->dev, "Multiface found\n");
-                       return 0;
-               }
+               if (hdsp_fifo_wait(hdsp, 0, HDSP_SHORT_WAIT) == 0)
+                       goto set_multi;
 
                hdsp_write(hdsp, HDSP_control2Reg, HDSP_S300);
                hdsp_write(hdsp, HDSP_control2Reg, HDSP_S_LOAD);
                hdsp_write(hdsp, HDSP_fifoData, 0);
-               if (hdsp_fifo_wait(hdsp, 0, HDSP_SHORT_WAIT) < 0) {
-                       hdsp->io_type = Multiface;
-                       dev_info(hdsp->card->dev, "Multiface found\n");
-                       return 0;
-               }
+               if (hdsp_fifo_wait(hdsp, 0, HDSP_SHORT_WAIT) < 0)
+                       goto set_multi;
 
                hdsp->io_type = RPM;
                dev_info(hdsp->card->dev, "RPM found\n");
@@ -838,6 +829,11 @@ static int hdsp_get_iobox_version (struct hdsp *hdsp)
                        hdsp->io_type = Digiface;
        }
        return 0;
+
+set_multi:
+       hdsp->io_type = Multiface;
+       dev_info(hdsp->card->dev, "Multiface found\n");
+       return 0;
 }