if (dev->decoder == EM28XX_TVP5150) {
                                em28xx_i2c_call_clients(dev,cmd,arg);
                                return 0;
-                       } else {
-
-                       if (!dev->has_msp34xx){
+                       } else if (!dev->has_msp34xx) {
                                for (i = 0; i < ARRAY_SIZE(em28xx_qctrl); i++) {
                                        if (ctrl->id == em28xx_qctrl[i].id) {
                                                if (ctrl->value <
 
        int vol = 0, val = 0, balance = 0;
 
        if (!muted) {
-               /* 0x7f instead if 0x73 here has sound quality issues,
-                * probably due to overmodulation + clipping ... */
                vol = (left > right) ? left : right;
-               val = (vol * 0x73 / 65535) << 8;
+               val = (vol * 0x7f / 65535) << 8;
        }
        if (vol > 0) {
                balance = ((right - left) * 127) / vol;
        /* done */
        i2c_attach_client(client);
 
-       /* update our own array */
-       for (i = 0; i < MSP3400_MAX; i++) {
-               if (NULL == msps[i]) {
-                       msps[i] = client;
-                       break;
-               }
-       }
-
        return 0;
 }
 
 static int msp_detach(struct i2c_client *client)
 {
        struct msp3400c *msp  = i2c_get_clientdata(client);
-       int i;
 
        /* shutdown control thread */
        if (msp->kthread) {
        }
        msp3400c_reset(client);
 
-       /* update our own array */
-       for (i = 0; i < MSP3400_MAX; i++) {
-               if (client == msps[i]) {
-                       msps[i] = NULL;
-                       break;
-               }
-       }
-
        i2c_detach_client(client);
 
        kfree(msp);