]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
usb: gadget: Mark USB_FSL_QE broken on 64-bit
authorGeert Uytterhoeven <geert@linux-m68k.org>
Wed, 27 Oct 2021 08:08:49 +0000 (10:08 +0200)
committerAndrea Righi <andrea.righi@canonical.com>
Tue, 7 Dec 2021 06:32:23 +0000 (07:32 +0100)
BugLink: https://bugs.launchpad.net/bugs/1950949
commit a0548b26901f082684ad1fb3ba397d2de3a1406a upstream.

On 64-bit:

    drivers/usb/gadget/udc/fsl_qe_udc.c: In function ‘qe_ep0_rx’:
    drivers/usb/gadget/udc/fsl_qe_udc.c:842:13: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
      842 |     vaddr = (u32)phys_to_virt(in_be32(&bd->buf));
  |             ^
    In file included from drivers/usb/gadget/udc/fsl_qe_udc.c:41:
    drivers/usb/gadget/udc/fsl_qe_udc.c:843:28: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
      843 |     frame_set_data(pframe, (u8 *)vaddr);
  |                            ^

The driver assumes physical and virtual addresses are 32-bit, hence it
cannot work on 64-bit platforms.

Acked-by: Li Yang <leoyang.li@nxp.com>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Link: https://lore.kernel.org/r/20211027080849.3276289-1-geert@linux-m68k.org
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
drivers/usb/gadget/udc/Kconfig

index 8c614bb86c665c773ac0edad7a07a4a8bd837436..69394dc1cdfb643613c7d65b35cb13f0a808bbd7 100644 (file)
@@ -330,6 +330,7 @@ config USB_AMD5536UDC
 config USB_FSL_QE
        tristate "Freescale QE/CPM USB Device Controller"
        depends on FSL_SOC && (QUICC_ENGINE || CPM)
+       depends on !64BIT || BROKEN
        help
           Some of Freescale PowerPC processors have a Full Speed
           QE/CPM2 USB controller, which support device mode with 4