News: 0001513866

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Linux 6.13-rc4 To Fix A Nasty USB Problem Plaguing The Kernel For A Few Weeks

([Hardware] 3 Hours Ago Linux 6.13-rc4 USB Fix)


Merged to Linux Git minutes ago and ahead of the Linux 6.13-rc4 tagging on Sunday were this week's set of USB fixes that are particularly noteworthy. Most significant is fixing a USB regression that had been present in the stack since the Linux 6.13 merge window last month.

Greg Kroah-Hartman commented in today's [1]USB / Thunderbolt fixes for 6.13-rc4 :

"Much reported xhci bugfix for usb-storage devices (and other devices as well, tripped me up on a video camera)"

This originated from [2]a bug report noting that when trying to make an EXT4 file-system on a USB microSD card it would result in hanging the entire system. Ouch.

There were other USB bug reports in recent weeks as well from those testing early versions of the Linux 6.13 kernel.

[3]

The issue was tracked back to a set of XHCI clean-ups, fixes, and code refactoring for the USB code in Linux 6.13... In the end [4]the fix was to correct the arguments passed to the XHCI ring expansion call... The source and destination rings were accidentally passed in the wrong order in the reworked code for Linux 6.13. Whoops.

The USB fixes are now [5]merged ahead of Linux 6.13-rc4 releasing on Sunday. This pull request also adds Thunderbolt support for Intel Panther Lake P and Panther Lake M SoCs with just needing new device IDs. On the Thunderbolt side is also an improvement to the redrive mode handling.



[1] https://lore.kernel.org/lkml/Z2WO42XdnBrYmdmN@kroah.com/

[2] https://lore.kernel.org/lkml/CAAJw_ZtppNqC9XA=-WVQDr+vaAS=di7jo15CzSqONeX48H75MA@mail.gmail.com/

[3] https://www.phoronix.com/image-viewer.php?id=2024&image=broken_usb_lrg

[4] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b9252f80b807801056e67e3a672fb1be0ecb81d8

[5] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e9b8ffafd20ad21357a789cc58ffaa162b3ad074



sophisticles

LtdJorge

=== ALL USERS PLEASE NOTE ========================

CAR and CDR now return extra values.

The function CAR now returns two values. Since it has to go to the trouble
to figure out if the object is carcdr-able anyway, we figured you might as
well get both halves at once. For example, the following code shows how to
destructure a cons (SOME-CONS) into its two slots (THE-CAR and THE-CDR):

(MULTIPLE-VALUE-BIND (THE-CAR THE-CDR) (CAR SOME-CONS) ...)

For symmetry with CAR, CDR returns a second value which is the CAR of the
object. In a related change, the functions MAKE-ARRAY and CONS have been
fixed so they don't allocate any storage except on the stack. This should
hopefully help people who don't like using the garbage collector because
it cold boots the machine so often.