1 --- pwc-10.0.6a.orig/pwc-if.c 2005-03-31 22:17:29.000000000 +0200
2 +++ pwc-10.0.6a/pwc-if.c.new 2005-04-01 09:31:39.099541224 +0200
4 pdev->vmax_packet_size = -1;
5 for (i = 0; i < idesc->desc.bNumEndpoints; i++)
6 if ((idesc->endpoint[i].desc.bEndpointAddress & 0xF) == pdev->vendpoint) {
7 - pdev->vmax_packet_size = idesc->endpoint[i].desc.wMaxPacketSize;
8 + pdev->vmax_packet_size = le16_to_cpu(idesc->endpoint[i].desc.wMaxPacketSize);
12 @@ -1689,9 +1689,14 @@
13 int video_nr = -1; /* default: use next available device */
14 char serial_number[30], *name;
16 + /* added le16_to_cpu to fix big endian issues */
17 + vendor_id = le16_to_cpu(udev->descriptor.idVendor);
18 + product_id = le16_to_cpu(udev->descriptor.idProduct);
20 /* Check if we can handle this device */
22 Trace(TRACE_PROBE, "probe() called [%04X %04X], if %d\n",
23 - udev->descriptor.idVendor, udev->descriptor.idProduct,
24 + vendor_id, product_id,
25 intf->altsetting->desc.bInterfaceNumber);
27 /* the interfaces are probed one by one. We are only interested in the
29 if (intf->altsetting->desc.bInterfaceNumber > 0)
32 - vendor_id = udev->descriptor.idVendor;
33 - product_id = udev->descriptor.idProduct;
36 if (vendor_id == 0x0471) {
40 pdev->vdev->owner = THIS_MODULE;
41 video_set_drvdata(pdev->vdev, pdev);
43 - pdev->release = udev->descriptor.bcdDevice;
44 + pdev->release = le16_to_cpu(udev->descriptor.bcdDevice);
45 Trace(TRACE_PROBE, "Release: %04x\n", pdev->release);
47 /* Now search device_hint[] table for a match, so we can hint a node number. */