This is a note to let you know that I've just added the patch titled usb: musb/ux500: remove duplicate check for dma_is_compatible to the 4.4-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: usb-musb-ux500-remove-duplicate-check-for-dma_is_compatible.patch and it can be found in the queue-4.4 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 62a6abdd427b5fc4d8aad5dac874904e96273e6d Mon Sep 17 00:00:00 2001 From: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu, 28 Jan 2016 17:23:15 +0100 Subject: usb: musb/ux500: remove duplicate check for dma_is_compatible From: Arnd Bergmann <arnd@xxxxxxxx> commit 62a6abdd427b5fc4d8aad5dac874904e96273e6d upstream. When dma_addr_t is 64-bit, we get a warning about an invalid cast in the call to ux500_dma_is_compatible() from ux500_dma_channel_program(): drivers/usb/musb/ux500_dma.c: In function 'ux500_dma_channel_program': drivers/usb/musb/ux500_dma.c:210:51: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] if (!ux500_dma_is_compatible(channel, packet_sz, (void *)dma_addr, len)) The problem is that ux500_dma_is_compatible() is called from the main musb driver on the virtual address, but here we pass in a DMA address, so the types are fundamentally different but it works because the function only checks the alignment of the buffer and that is the same. We could work around this by adding another cast, but I have checked that the buffer we get passed here is already checked before it gets mapped, so the second check seems completely unnecessary and removing it must be the cleanest solution. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/usb/musb/ux500_dma.c | 3 --- 1 file changed, 3 deletions(-) --- a/drivers/usb/musb/ux500_dma.c +++ b/drivers/usb/musb/ux500_dma.c @@ -207,9 +207,6 @@ static int ux500_dma_channel_program(str BUG_ON(channel->status == MUSB_DMA_STATUS_UNKNOWN || channel->status == MUSB_DMA_STATUS_BUSY); - if (!ux500_dma_is_compatible(channel, packet_sz, (void *)dma_addr, len)) - return false; - channel->status = MUSB_DMA_STATUS_BUSY; channel->actual_len = 0; ret = ux500_configure_channel(channel, packet_sz, mode, dma_addr, len); Patches currently in stable-queue which might be from arnd@xxxxxxxx are queue-4.4/kasan-rework-kconfig-settings.patch queue-4.4/hdpvr-hide-unused-variable.patch queue-4.4/mtd-ichxrom-maybe-uninitialized-with-gcc-4.9.patch queue-4.4/profile-hide-unused-functions-when-config_proc_fs.patch queue-4.4/perf-x86-shut-up-false-positive-wmaybe-uninitialized-warning.patch queue-4.4/hwrng-exynos-use-__maybe_unused-to-hide-pm-functions.patch queue-4.4/usb-cdc_subset-only-build-when-one-driver-is-enabled.patch queue-4.4/ipv4-ipconfig-avoid-unused-ic_proto_used-symbol.patch queue-4.4/revert-power-bq27xxx_battery-remove-unneeded-dependency-in-kconfig.patch queue-4.4/go7007-add-media_camera_support-dependency.patch queue-4.4/scsi-advansys-fix-build-warning-for-pci-n.patch queue-4.4/ssb-mark-ssb_bus_register-as-__maybe_unused.patch queue-4.4/tty-cyclades-cyz_interrupt-is-only-used-for-pci.patch queue-4.4/infiniband-cxgb4-use-pr-format-string-for-printing-resources.patch queue-4.4/video-fbdev-via-remove-possibly-unused-variables.patch queue-4.4/binfmt_elf-compat-avoid-unused-function-warning.patch queue-4.4/drm-gma500-remove-helper-function.patch queue-4.4/fbdev-s6e8ax0-avoid-unused-function-warnings.patch queue-4.4/netfilter-ipvs-avoid-unused-variable-warnings.patch queue-4.4/idle-i7300-add-pci-dependency.patch queue-4.4/b2c2-flexcop-avoid-unused-function-warnings.patch queue-4.4/fbdev-auo_k190x-avoid-unused-function-warnings.patch queue-4.4/cw1200-fix-bogus-maybe-uninitialized-warning.patch queue-4.4/x86-build-silence-the-build-with-make-s.patch queue-4.4/gpio-xgene-mark-pm-functions-as-__maybe_unused.patch queue-4.4/kvm-add-x86_local_apic-dependency.patch queue-4.4/arm-tegra-select-usb_ulpi-from-ehci-rather-than-platform.patch queue-4.4/asoc-mediatek-add-i2c-dependency.patch queue-4.4/reiserfs-avoid-a-wmaybe-uninitialized-warning.patch queue-4.4/scsi-advansys-fix-uninitialized-data-access.patch queue-4.4/mtd-sh_flctl-pass-fifo-as-physical-address.patch queue-4.4/driver-core-use-dev-argument-in-dev_dbg_ratelimited-stub.patch queue-4.4/modsign-hide-openssl-output-in-silent-builds.patch queue-4.4/net-hp100-remove-unnecessary-ifdefs.patch queue-4.4/genirq-msi-add-stubs-for-get_cached_msi_msg-pci_write_msi_msg.patch queue-4.4/asoc-intel-kconfig-fix-build-when-acpi-is-not-enabled.patch queue-4.4/asoc-ux500-add-module_license-tag.patch queue-4.4/wireless-cw1200-use-__maybe_unused-to-hide-pm-functions_.patch queue-4.4/mptfusion-hide-unused-seq_mpt_print_ioc_summary-function.patch queue-4.4/tlan-avoid-unused-label-with-pci-n.patch queue-4.4/usb-musb-ux500-remove-duplicate-check-for-dma_is_compatible.patch queue-4.4/mtd-cfi-enforce-valid-geometry-configuration.patch queue-4.4/thermal-spear-use-__maybe_unused-for-pm-functions.patch queue-4.4/x86-microcode-amd-change-load_microcode_amd-s-param-to-bool-to-fix-preemptibility-bug.patch queue-4.4/video-fbdev-mmp-add-module_license.patch queue-4.4/fbdev-sis-enforce-selection-of-at-least-one-backend.patch queue-4.4/x86-boot-avoid-warning-for-zero-filling-.bss.patch queue-4.4/power-bq27xxx_battery-mark-some-symbols-__maybe_unused.patch queue-4.4/scsi-mvumi-use-__maybe_unused-to-hide-pm-functions.patch queue-4.4/usb-phy-msm-add-regulator-dependency.patch queue-4.4/isdn-icn-remove-a-warning.patch queue-4.4/ncr5380-shut-up-gcc-indentation-warning.patch queue-4.4/arm64-dts-add-cooling-cells-to-cpu-nodes.patch queue-4.4/vmxnet3-prevent-building-with-64k-pages.patch queue-4.4/genksyms-fix-segfault-with-invalid-declarations.patch queue-4.4/x86-platform-add-pci-dependency-for-punit_atom_debug.patch queue-4.4/target-user-fix-cast-from-pointer-to-phys_addr_t.patch queue-4.4/rtlwifi-fix-gcc-6-indentation-warning.patch queue-4.4/alsa-hda-ca0132-fix-possible-null-pointer-use.patch queue-4.4/thermal-fix-intel_soc_dts_iosf_core-dependencies.patch queue-4.4/arm64-define-bug-instruction-without-config_bug.patch queue-4.4/v4l-remove-media_tuner-dependency-for-video_tuner.patch queue-4.4/tc358743-fix-register-i2c_rd-wr-functions.patch queue-4.4/scsi-fdomain-drop-fdomain_pci_tbl-when-built-in.patch queue-4.4/scsi-initio-remove-duplicate-module-device-table.patch queue-4.4/netlink-fix-nla_put_-u8-u16-u32-for-kasan.patch queue-4.4/x86-fpu-math-emu-fix-possible-uninitialized-variable-use.patch queue-4.4/asoc-rockchip-use-__maybe_unused-to-hide-st_irq_syscfg_resume.patch queue-4.4/staging-ste_rmi4-avoid-unused-function-warnings.patch queue-4.4/em28xx-only-use-mt9v011-if-camera-support-is-enabled.patch queue-4.4/pwc-hide-unused-label.patch queue-4.4/input-tca8418_keypad-hide-gcc-4.9-wmaybe-uninitialized-warning.patch queue-4.4/fbdev-sm712fb-avoid-unused-function-warnings.patch queue-4.4/isdn-sc-work-around-type-mismatch-warning.patch queue-4.4/tty-hvc_xen-hide-xen_console_remove-when-unused.patch queue-4.4/virtio_balloon-prevent-uninitialized-variable-use.patch queue-4.4/drm-nouveau-hide-gcc-4.9-wmaybe-uninitialized.patch queue-4.4/dell-wmi-dell-laptop-depends-dmi.patch queue-4.4/x86-add-multiuser-dependency-for-kvm.patch queue-4.4/md-avoid-warning-for-32-bit-sector_t.patch queue-4.4/isdn-eicon-reduce-stack-size-of-sig_ind-function.patch