** 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

Reply via email to