]> Pileus Git - ~andy/linux/blobdiff - drivers/hid/hid-core.c
HID: proper LED-mapping for SpaceNavigator
[~andy/linux] / drivers / hid / hid-core.c
index 1e1a7770a6b9a53f18be6f138f89ecfc474e33e4..38db8321b211887f4ce86e842e0823bc294a1207 100644 (file)
@@ -880,6 +880,10 @@ static void hid_output_field(struct hid_field *field, __u8 *data)
        unsigned size = field->report_size;
        unsigned n;
 
+       /* make sure the unused bits in the last byte are zeros */
+       if (count > 0 && size > 0)
+               data[(count*size-1)/8] = 0;
+
        for (n = 0; n < count; n++) {
                if (field->logical_minimum < 0) /* signed values */
                        implement(data, offset + n * size, size, s32ton(field->value[n], size));