summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--sound/usb/usbmidi.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sound/usb/usbmidi.c b/sound/usb/usbmidi.c
index 7580339dba22..2b9d940c8064 100644
--- a/sound/usb/usbmidi.c
+++ b/sound/usb/usbmidi.c
@@ -871,10 +871,10 @@ static int snd_usbmidi_in_endpoint_create(struct snd_usb_midi* umidi,
 
 static unsigned int snd_usbmidi_count_bits(unsigned int x)
 {
-	unsigned int bits = 0;
+	unsigned int bits;
 
-	for (; x; x >>= 1)
-		bits += x & 1;
+	for (bits = 0; x; ++bits)
+		x &= x - 1;
 	return bits;
 }