diff options
author | Anssi Hannula <anssi.hannula@gmail.com> | 2007-01-19 12:28:17 -0500 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2007-01-21 16:18:01 -0500 |
commit | be8209753b014f2d7a92b2ec3ff82db478fc86d1 (patch) | |
tree | 2f5a1e5d5b7bbf18c2be569166b86ccd680e9081 /drivers/usb/input/hiddev.c | |
parent | f7ebf99eb489a02dba2e5a071fde9f5354275a50 (diff) |
HID: put usb_interface instead of usb_device into hid->dev to fix udevinfo breakage
The commit 4916b3a57fc94664677d439b911b8aaf86c7ec23 introduced a
hid regression between 2.6.19 and 2.6.20-rc1. The device put in
input_dev->cdev is now of type usb_device instead of usb_interface.
Before:
> # readlink -f /sys/class/input/input6/event4/device
> /sys/devices/pci0000:00/0000:00:10.0/usb2/2-1/2-1:1.1
After:
> # readlink -f /sys/class/input/input3/event3/device
> /sys/devices/pci0000:00/0000:00:10.0/usb1/1-1
This causes breakage:
> # udevinfo -q all -n /dev/input/event3
> P: /class/input/input3/event3
> N: input/event3
> S: input/by-path/pci-1-1--event-
> E: ID_SERIAL=noserial
> E: ID_PATH=pci-1-1-
No ID_MODEL, ID_VENDOR, ID_REVISION, ID_TYPE etc etc.
Fix this by assigning the intf->dev into hid->dev, and fixing
all the users.
Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/usb/input/hiddev.c')
-rw-r--r-- | drivers/usb/input/hiddev.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/input/hiddev.c b/drivers/usb/input/hiddev.c index 114d6c9f64b1..a8b3d66cd498 100644 --- a/drivers/usb/input/hiddev.c +++ b/drivers/usb/input/hiddev.c | |||
@@ -384,7 +384,7 @@ static int hiddev_ioctl(struct inode *inode, struct file *file, unsigned int cmd | |||
384 | struct hiddev_list *list = file->private_data; | 384 | struct hiddev_list *list = file->private_data; |
385 | struct hiddev *hiddev = list->hiddev; | 385 | struct hiddev *hiddev = list->hiddev; |
386 | struct hid_device *hid = hiddev->hid; | 386 | struct hid_device *hid = hiddev->hid; |
387 | struct usb_device *dev = to_usb_device(hid->dev); | 387 | struct usb_device *dev = hid_to_usb_dev(hid); |
388 | struct hiddev_collection_info cinfo; | 388 | struct hiddev_collection_info cinfo; |
389 | struct hiddev_report_info rinfo; | 389 | struct hiddev_report_info rinfo; |
390 | struct hiddev_field_info finfo; | 390 | struct hiddev_field_info finfo; |