** Also affects: linux-oem-6.11 (Ubuntu) Importance: Undecided Status: New
** Also affects: usbio-drivers (Ubuntu Noble) Importance: Undecided Status: New ** Also affects: linux-oem-6.11 (Ubuntu Noble) Importance: Undecided Status: New ** Changed in: linux-oem-6.11 (Ubuntu Noble) Status: New => Fix Committed -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux-oem-6.11 in Ubuntu. https://bugs.launchpad.net/bugs/2102186 Title: wrong packet header size calculation Status in linux-oem-6.11 package in Ubuntu: New Status in usbio-drivers package in Ubuntu: Fix Released Status in linux-oem-6.11 source package in Noble: Fix Committed Status in usbio-drivers source package in Noble: New Status in linux-oem-6.11 source package in Oracular: New Status in usbio-drivers source package in Oracular: In Progress Status in linux-oem-6.11 source package in Plucky: New Status in usbio-drivers source package in Plucky: Fix Committed Status in linux-oem-6.11 source package in Questing: New Status in usbio-drivers source package in Questing: Fix Released Bug description: [SRU Justification] [ Impact ] This is a necessary part to enable Intel IPU6 MIPI camera on another Intel Arrow Lake platform. In addition, in bug 2071821 at enabling Intel MIPI camera for Intel Lunar Lake platform on Dell XPS 13 9350, the request frame header size changed to reflect protocol 1.0 updates -- the value field in struct gpio_rw_packet is not included in the outgoing frame of a GPIO_READ operation. An work-around now known as https://github.com/intel/usbio- drivers/pull/14 was proposed by Intel and was then carried in Ubuntu usbio-drivers package since version 0~git202408092230.70c524c5-0ubuntu1 in Oracular. The pull request is to: 1. If the platform is Lunar Lake and it has a special gpio-usbio device -- function `is_gpio_hid_v1_0` returns true -- then it omits the last four bytes, 2. else, transfer whatever is given. Since then, the work-around is never merged as Intel promised, and finally it received an official solution as https://github.com/intel/usbio- drivers/commit/b022c9a73d9ff9d455a913dd478b047228d844e2. However, this fix is more like an fix for another typo and is not logical equivalent to the original hack. This fix corrects the line with `sizeof(header)` to `sizeof(*header)`, which effectively reduces 4 bytes as the original hack did, but this time, globally to every platform, every configuration. While the proposal is to drop that PR-14 in favor of this sizeof fix, the net effect is that for every device doesn't get matched from the `is_gpio_hid_v1_0` function, the xfer len will be reduced to 4 bytes. This was considered causing regression on all other devices with an older usbio protocol then 1.0 as mentioned in https://github.com/intel/usbio-drivers/pull/14#discussion_r1693451687, but the Intel CVS team claimed this is never an issue, the pull request is never a candidate to be merged, and Intel has verified all the related devices. While we don't really have a 0.7 usbio firmware device to verify, and that can also be an engineering sample that couldn't actually exist in public, the proposal is then justified. [ Test Plan ] 1. This is a critical part for enabling a new Intel Arrow Lake platform, and we also picked a few devices inclusive of OASM4-DVT2-C2-202312-33214, a MTL platform with gpio-usbio. 2. For existing platforms, this should be an drop-in replacement to existing systems. Just install intel-usbio-dkms from -proposed pocket and reboot to same kernel. $ sudo apt-get install intel-usbio-dkms 3. For the new ARL system, install following packages to create a verification environtment: $ sudo apt-get install --no-install-recommends --yes \ linux-oem-24.04b \ intel-ipu6-dkms \ intel-usbio-dkms \ v4l2loopback-dkms \ gstreamer1.0-icamera \ libcamhal-ipu6epmtl \ v4l2-relayd 4. Verify webcam working on http://webcamtests.com [ Where problems could occur ] We don't have the firmware source to verify the protocol changes, and we don't own a device that matches a potential regression concern. Still worry about a potential regression, but I don't have a proof. [ Other Info ] The device enablement is on linux-oem-6.11. Nominate updates to Oracular, Plucky, and Questing. ========== original bug report ========== The work-around proposed by driver vendor, https://git.launchpad.net/ubuntu/+source/usbio- drivers/tree/debian/patches/0003-mfd-usbio-gpio-read-payload- reduces-4-bytes.patch?h=applied/ubuntu/devel, is wrong. A corrected version is now merged in the upstream as https://github.com/intel/usbio- drivers/commit/b022c9a73d9ff9d455a913dd478b047228d844e2 . To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux-oem-6.11/+bug/2102186/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp