从内核版本 4.19 向后移植到 4.14 失败

从内核版本 4.19 向后移植到 4.14 失败

我需要在当前运行内核版本 4.14 的设备中使用 wlan 驱动程序 (ATH10K_SDIO),其中只有该驱动程序的实验性非功能版本可用。升级内核并不是一个真正的选择。

我尝试从以下位置向后移植驱动程序Linux 内核 v4.19Linux 内核 v4.14。我用的是向后移植 repo 分支 linux-4.19.y将驱动程序向后移植并集成到旧的内核源代码树中。由于补丁失败0090-删除-GRO_CONSUMED.patch

即使我从补丁列表中删除了这个补丁,向后移植仍然失败(它无法修补集成补丁进入源代码树)。

所有这些让我想知道,这就是您使用驱动程序反向移植工具的方式吗?如果是这样,我错过了什么?

谢谢

约翰内斯

编辑:我需要驱动程序的设备正在使用https://github.com/Xilinx/linux-xlnx(版本 2018.2)在 Linux 4.14 之上有数百处更改,因此使用 Linux Stable 并不是真正的选择。但准确使用4.14.0时也会出现上述错误。

wo@xyz:~/Documents/backports$ ./gentree.py --integrate --clean --verbose --gitdebug ~/Documents/linux/ ~/Documents/linux-ath/
Copy original source files ...
Applying patches from patches to /home/wo/Documents/linux-ath/backports/ ...
Applying patch 0000-upstream-backport-changes/0005-uapi-compromise/mwifiex.patch
> patching file drivers/net/wireless/marvell/mwifiex/decl.h
> patching file drivers/net/wireless/marvell/mwifiex/sta_rx.c
Applying patch 0002-disable-dump-adjust-on-old-kernels.patch
> patching file net/wireless/nl80211.c
> Hunk #1 succeeded at 2174 (offset -33 lines).
> Hunk #2 succeeded at 2196 (offset -33 lines).
Applying patch 0003-cfg80211-wext-padding/include_net_cfg80211.patch
> patching file include/net/cfg80211.h
> Hunk #1 succeeded at 3971 (offset -1 lines).
Applying patch 0003-cfg80211-wext-padding/net_wireless_core.patch
> patching file net/wireless/core.c
Applying patch 0004-disable-wext-kconfig.patch
> patching file net/wireless/Kconfig
Applying patch 0005-disable-usb-net-asix.patch
> patching file drivers/net/usb/Makefile
Applying patch 0010-add-wext-handlers-to-netdev/net_wireless_core.patch
> patching file net/wireless/core.c
Applying patch 0012-driver-quirks/drivers_net_wireless_cw1200_sdio.patch
> patching file drivers/net/wireless/st/cw1200/cw1200_sdio.c
Applying patch 0013-fix-makefile-includes/ath10k.patch
> patching file drivers/net/wireless/ath/ath10k/htt.h
Applying patch 0013-fix-makefile-includes/mt76.patch
> patching file drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c
> patching file drivers/net/wireless/mediatek/mt76/usb_mcu.c
> patching file drivers/net/wireless/mediatek/mt76/mt76x2_eeprom.c
> patching file drivers/net/wireless/mediatek/mt76/usb.c
Applying patch 0014-netlink_seq/net_wireless_nl80211.patch
> patching file net/wireless/nl80211.c
> Hunk #1 succeeded at 8207 (offset -48 lines).
Applying patch 0015-rename_pm_qos_request/drivers_net_wireless_ipw2x00_ipw2100.patch
> patching file drivers/net/wireless/intel/ipw2x00/ipw2100.c
Applying patch 0016-libertas-olpc-ec-wakeup/drivers_net_wireless_libertas_if_usb.patch
> patching file drivers/net/wireless/marvell/libertas/if_usb.c
> Hunk #1 succeeded at 938 (offset 1 line).
> Hunk #2 succeeded at 947 (offset 1 line).
Applying patch 0018-pv-trace-fixes/drivers_net_wireless_iwlwifi_iwl-debug.patch
> patching file drivers/net/wireless/intel/iwlwifi/iwl-debug.c
Applying patch 0018-pv-trace-fixes/net_mac80211_trace.patch
> patching file net/mac80211/trace.c
Applying patch 0021-umode_t-api-change/ath10k.patch
> patching file drivers/net/wireless/ath/ath10k/spectral.c
Applying patch 0021-umode_t-api-change/ath9k.patch
> patching file drivers/net/wireless/ath/ath9k/common-spectral.c
Applying patch 0022-define-tracing/ath6kl.patch
> patching file drivers/net/wireless/ath/ath6kl/trace.c
Applying patch 0022-define-tracing/cfg80211.patch
> patching file net/wireless/trace.c
Applying patch 0022-define-tracing/mt7601u.patch
> patching file drivers/net/wireless/mediatek/mt7601u/trace.c
Applying patch 0022-define-tracing/wil6210.patch
> patching file drivers/net/wireless/ath/wil6210/trace.c
Applying patch 0024-led-blink-api/mac80211.patch
> patching file net/mac80211/ieee80211_i.h
> patching file net/mac80211/led.h
Applying patch 0025-usb-sg/usbnet.patch
> patching file drivers/net/usb/usbnet.c
> Hunk #1 succeeded at 1313 (offset -9 lines).
> Hunk #2 succeeded at 1346 (offset -9 lines).
> Hunk #3 succeeded at 1408 (offset -9 lines).
> Hunk #4 succeeded at 1487 (offset -14 lines).
> Hunk #5 succeeded at 1542 (offset -14 lines).
> Hunk #6 succeeded at 1911 (offset -14 lines).
Applying patch 0026-ipv6_stub/cdc_mbim.patch
> patching file drivers/net/usb/cdc_mbim.c
Applying patch 0028-select_queue/mac80211.patch
> patching file net/mac80211/iface.c
> Hunk #1 succeeded at 1128 (offset -3 lines).
> Hunk #2 succeeded at 1189 (offset -3 lines).
Applying patch 0028-select_queue/mwifiex.patch
> patching file drivers/net/wireless/marvell/mwifiex/main.c
Applying patch 0028-select_queue/rtl8188eu.patch
> patching file drivers/staging/rtl8188eu/os_dep/os_intfs.c
Applying patch 0028-select_queue/rtl8723bs.patch
> patching file drivers/staging/rtl8723bs/os_dep/os_intfs.c
Applying patch 0033-ndo_vlan_rx_vid/cdc_mbim.patch
> patching file drivers/net/usb/cdc_mbim.c
Applying patch 0051-no-wakeup_path/ssb.patch
> patching file drivers/ssb/pcihost_wrapper.c
Applying patch 0053-possible_net_t.patch
> patching file include/net/cfg80211.h
> Hunk #1 succeeded at 4113 (offset -1 lines).
Applying patch 0055-name_assign_type/brcmfmac.patch
> patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c
Applying patch 0060-trace_field_struct/mt7601u.patch
> patching file drivers/net/wireless/mediatek/mt7601u/trace.h
Applying patch 0069-iwlwifi-pd-string-fix.patch
> patching file drivers/net/wireless/intel/iwlwifi/dvm/debugfs.c
> patching file drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c
> patching file drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c
Applying patch 0069-remove-of_irq/bcma.patch
> patching file drivers/bcma/main.c
Applying patch 0070-mac80211-fils.patch
> patching file net/mac80211/fils_aead.c
> patching file net/mac80211/fils_aead.h
> patching file net/mac80211/main.c
Applying patch 0071-skb-head_frag/wireless.patch
> patching file net/wireless/util.c
Applying patch 0075-ndo-stats-64/usbnet.patch
> patching file drivers/net/usb/usbnet.c
> Hunk #1 succeeded at 1016 (offset -9 lines).
> patching file include/linux/usb/usbnet.h
Applying patch 0077-genl-ro-after-init/hwsim.patch
> patching file drivers/net/wireless/mac80211_hwsim.c
> Hunk #1 succeeded at 3551 (offset -2 lines).
Applying patch 0077-genl-ro-after-init/nl80211.patch
> patching file net/wireless/nl80211.c
> Hunk #1 succeeded at 13916 (offset -58 lines).
Applying patch 0079-netdev-destructor/brcmfmac.patch
> patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
> Hunk #1 succeeded at 582 (offset -1 lines).
> Hunk #2 succeeded at 771 (offset -1 lines).
Applying patch 0083-timer_list.patch
> patching file drivers/net/wireless/atmel/at76c50x-usb.c
Applying patch 0084-disable-some-staging-dirs.patch
> patching file drivers/staging/Makefile
Applying patch 0085-iwlwifi-pci-device-removal.patch
> patching file drivers/net/wireless/intel/iwlwifi/pcie/trans.c
> Hunk #1 succeeded at 1947 (offset -12 lines).
> Hunk #2 succeeded at 1958 (offset -12 lines).
Applying patch 0090-remove-GRO_CONSUMED.patch
> patching file drivers/net/wireless/ath/wil6210/txrx.c
> Hunk #1 FAILED at 737.
> 1 out of 1 hunk FAILED -- saving rejects to file drivers/net/wireless/ath/wil6210/txrx.c.rej

答案1

ATH10K_SDIO 支持位于最新的 4.14 更新中,因此只需更新到更新的 4.14 内核版本即可获得驱动程序。我建议更新整个内核并移植您拥有的发行版特定补丁。

参考:kernel.org https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/net/wireless/ath/ath10k?h=linux-4.14.y

您应该能够使用 GitHub fork 将当前的内核变更集(无论是您的还是其他人的)转发到此。

相关内容