Merge branch 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/linville...
[safe/jmp/linux-2.6] / drivers / usb / atm / cxacru.c
index 5ed4ae0..56802d2 100644 (file)
@@ -227,8 +227,14 @@ static ssize_t cxacru_sysfs_showattr_s8(s8 value, char *buf)
 
 static ssize_t cxacru_sysfs_showattr_dB(s16 value, char *buf)
 {
-       return snprintf(buf, PAGE_SIZE, "%d.%02u\n",
-                                       value / 100, abs(value) % 100);
+       if (likely(value >= 0)) {
+               return snprintf(buf, PAGE_SIZE, "%u.%02u\n",
+                                       value / 100, value % 100);
+       } else {
+               value = -value;
+               return snprintf(buf, PAGE_SIZE, "-%u.%02u\n",
+                                       value / 100, value % 100);
+       }
 }
 
 static ssize_t cxacru_sysfs_showattr_bool(u32 value, char *buf)
@@ -485,7 +491,7 @@ static int cxacru_cm(struct cxacru_data *instance, enum cxacru_cm_request cm,
                        usb_err(instance->usbatm, "requested transfer size too large (%d, %d)\n",
                                wbuflen, rbuflen);
                ret = -ENOMEM;
-               goto fail;
+               goto err;
        }
 
        mutex_lock(&instance->cm_serialize);
@@ -565,6 +571,7 @@ static int cxacru_cm(struct cxacru_data *instance, enum cxacru_cm_request cm,
        dbg("cm %#x", cm);
 fail:
        mutex_unlock(&instance->cm_serialize);
+err:
        return ret;
 }