Merge branch 'stable-3.2' into pandora-3.2
[pandora-kernel.git] / drivers / firewire / core-cdev.c
index 4799393..ee96b91 100644 (file)
@@ -471,8 +471,8 @@ static int ioctl_get_info(struct client *client, union ioctl_arg *arg)
        client->bus_reset_closure = a->bus_reset_closure;
        if (a->bus_reset != 0) {
                fill_bus_reset_event(&bus_reset, client);
-               ret = copy_to_user(u64_to_uptr(a->bus_reset),
-                                  &bus_reset, sizeof(bus_reset));
+               /* unaligned size of bus_reset is 36 bytes */
+               ret = copy_to_user(u64_to_uptr(a->bus_reset), &bus_reset, 36);
        }
        if (ret == 0 && list_empty(&client->link))
                list_add_tail(&client->link, &client->device->client_list);
@@ -1605,8 +1605,7 @@ static int dispatch_ioctl(struct client *client,
            _IOC_SIZE(cmd) > sizeof(buffer))
                return -ENOTTY;
 
-       if (_IOC_DIR(cmd) == _IOC_READ)
-               memset(&buffer, 0, _IOC_SIZE(cmd));
+       memset(&buffer, 0, sizeof(buffer));
 
        if (_IOC_DIR(cmd) & _IOC_WRITE)
                if (copy_from_user(&buffer, arg, _IOC_SIZE(cmd)))