* Re: [PATCH net-next v16 04/13] ax88179_178a: Add HW support for AX179A-based chips
[not found] <20261004-ax88179a-v16-4-2a9ae4e68f7b@birger-koblitz.de>
@ 2026-10-04 18:06 ` kernel test robot
2026-10-04 20:12 ` kernel test robot
1 sibling, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-10-04 18:06 UTC (permalink / raw)
To: Birger Koblitz, Andrew Lunn, David S. Miller, Jakub Kicinski,
Paolo Abeni, Russell King, Heiner Kallweit, Huacai Chen,
WANG Xuerui, Eric Dumazet
Cc: llvm, oe-kbuild-all, netdev, linux-usb, linux-kernel, loongarch,
Jianhui Xu, Birger Koblitz
Hi Birger,
kernel test robot noticed the following build warnings:
[auto build test WARNING on 071876fd50482a68603a9460d80dd6dd58827ee1]
url: https://github.com/intel-lab-lkp/linux/commits/Birger-Koblitz/phylink-Add-phylink_mac_interrupt/20261004-073905
base: 071876fd50482a68603a9460d80dd6dd58827ee1
patch link: https://lore.kernel.org/r/20261004-ax88179a-v16-4-2a9ae4e68f7b%40birger-koblitz.de
patch subject: [PATCH net-next v16 04/13] ax88179_178a: Add HW support for AX179A-based chips
config: arm-defconfig (https://download.01.org/0day-ci/archive/20261005/202610050104.tjRXtbIC-lkp@intel.com/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 5f609f950d2e80addf5566623013db68394334db)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261005/202610050104.tjRXtbIC-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202610050104.tjRXtbIC-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/net/usb/ax88179a_devices.c:783:24: warning: shift count >= width of type [-Wshift-count-overflow]
783 | tx_desc |= FIELD_PREP(AX179A_TX_DESC_MSS, (u64)skb_shinfo(skb)->gso_size);
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/usb/ax88179_lib.h:251:29: note: expanded from macro 'AX179A_TX_DESC_MSS'
251 | #define AX179A_TX_DESC_MSS GENMASK(46, 32)
| ^
include/linux/bits.h:51:24: note: expanded from macro 'GENMASK'
51 | #define GENMASK(h, l) GENMASK_TYPE(unsigned long, h, l)
| ^
include/linux/bits.h:48:20: note: expanded from macro 'GENMASK_TYPE'
48 | (type_max(t) << (l) & \
| ^
note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:702:22: note: expanded from macro 'compiletime_assert'
702 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:690:23: note: expanded from macro '_compiletime_assert'
690 | __compiletime_assert(condition, msg, prefix, suffix)
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:682:9: note: expanded from macro '__compiletime_assert'
682 | if (!(condition)) \
| ^~~~~~~~~
>> drivers/net/usb/ax88179a_devices.c:783:24: warning: shift count >= width of type [-Wshift-count-overflow]
783 | tx_desc |= FIELD_PREP(AX179A_TX_DESC_MSS, (u64)skb_shinfo(skb)->gso_size);
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/usb/ax88179_lib.h:251:29: note: expanded from macro 'AX179A_TX_DESC_MSS'
251 | #define AX179A_TX_DESC_MSS GENMASK(46, 32)
| ^
include/linux/bits.h:51:24: note: expanded from macro 'GENMASK'
51 | #define GENMASK(h, l) GENMASK_TYPE(unsigned long, h, l)
| ^
include/linux/bits.h:49:20: note: expanded from macro 'GENMASK_TYPE'
49 | type_max(t) >> (BITS_PER_TYPE(t) - 1 - (h)))))
| ^
note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:702:22: note: expanded from macro 'compiletime_assert'
702 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:690:23: note: expanded from macro '_compiletime_assert'
690 | __compiletime_assert(condition, msg, prefix, suffix)
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:682:9: note: expanded from macro '__compiletime_assert'
682 | if (!(condition)) \
| ^~~~~~~~~
>> drivers/net/usb/ax88179a_devices.c:783:24: warning: shift count >= width of type [-Wshift-count-overflow]
783 | tx_desc |= FIELD_PREP(AX179A_TX_DESC_MSS, (u64)skb_shinfo(skb)->gso_size);
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/usb/ax88179_lib.h:251:29: note: expanded from macro 'AX179A_TX_DESC_MSS'
251 | #define AX179A_TX_DESC_MSS GENMASK(46, 32)
| ^
include/linux/bits.h:51:24: note: expanded from macro 'GENMASK'
51 | #define GENMASK(h, l) GENMASK_TYPE(unsigned long, h, l)
| ^
include/linux/bits.h:48:20: note: expanded from macro 'GENMASK_TYPE'
48 | (type_max(t) << (l) & \
| ^
note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:702:22: note: expanded from macro 'compiletime_assert'
702 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:690:23: note: expanded from macro '_compiletime_assert'
690 | __compiletime_assert(condition, msg, prefix, suffix)
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:682:9: note: expanded from macro '__compiletime_assert'
682 | if (!(condition)) \
| ^~~~~~~~~
>> drivers/net/usb/ax88179a_devices.c:783:24: warning: shift count >= width of type [-Wshift-count-overflow]
783 | tx_desc |= FIELD_PREP(AX179A_TX_DESC_MSS, (u64)skb_shinfo(skb)->gso_size);
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/usb/ax88179_lib.h:251:29: note: expanded from macro 'AX179A_TX_DESC_MSS'
251 | #define AX179A_TX_DESC_MSS GENMASK(46, 32)
| ^
include/linux/bits.h:51:24: note: expanded from macro 'GENMASK'
51 | #define GENMASK(h, l) GENMASK_TYPE(unsigned long, h, l)
| ^
include/linux/bits.h:49:20: note: expanded from macro 'GENMASK_TYPE'
49 | type_max(t) >> (BITS_PER_TYPE(t) - 1 - (h)))))
| ^
note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:702:22: note: expanded from macro 'compiletime_assert'
702 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:690:23: note: expanded from macro '_compiletime_assert'
690 | __compiletime_assert(condition, msg, prefix, suffix)
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:682:9: note: expanded from macro '__compiletime_assert'
682 | if (!(condition)) \
| ^~~~~~~~~
>> drivers/net/usb/ax88179a_devices.c:783:24: warning: shift count >= width of type [-Wshift-count-overflow]
783 | tx_desc |= FIELD_PREP(AX179A_TX_DESC_MSS, (u64)skb_shinfo(skb)->gso_size);
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/usb/ax88179_lib.h:251:29: note: expanded from macro 'AX179A_TX_DESC_MSS'
251 | #define AX179A_TX_DESC_MSS GENMASK(46, 32)
| ^
include/linux/bits.h:51:24: note: expanded from macro 'GENMASK'
51 | #define GENMASK(h, l) GENMASK_TYPE(unsigned long, h, l)
| ^
include/linux/bits.h:48:20: note: expanded from macro 'GENMASK_TYPE'
48 | (type_max(t) << (l) & \
| ^
note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:702:22: note: expanded from macro 'compiletime_assert'
702 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:690:23: note: expanded from macro '_compiletime_assert'
690 | __compiletime_assert(condition, msg, prefix, suffix)
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:682:9: note: expanded from macro '__compiletime_assert'
682 | if (!(condition)) \
| ^~~~~~~~~
>> drivers/net/usb/ax88179a_devices.c:783:24: warning: shift count >= width of type [-Wshift-count-overflow]
783 | tx_desc |= FIELD_PREP(AX179A_TX_DESC_MSS, (u64)skb_shinfo(skb)->gso_size);
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/usb/ax88179_lib.h:251:29: note: expanded from macro 'AX179A_TX_DESC_MSS'
251 | #define AX179A_TX_DESC_MSS GENMASK(46, 32)
| ^
include/linux/bits.h:51:24: note: expanded from macro 'GENMASK'
51 | #define GENMASK(h, l) GENMASK_TYPE(unsigned long, h, l)
| ^
include/linux/bits.h:49:20: note: expanded from macro 'GENMASK_TYPE'
49 | type_max(t) >> (BITS_PER_TYPE(t) - 1 - (h)))))
| ^
note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:702:22: note: expanded from macro 'compiletime_assert'
702 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:690:23: note: expanded from macro '_compiletime_assert'
690 | __compiletime_assert(condition, msg, prefix, suffix)
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:682:9: note: expanded from macro '__compiletime_assert'
682 | if (!(condition)) \
| ^~~~~~~~~
6 warnings generated.
vim +783 drivers/net/usb/ax88179a_devices.c
770
771 static struct sk_buff *ax88179a_tx_fixup(struct usbnet *dev, struct sk_buff *skb, gfp_t flags)
772 {
773 u64 tx_desc = skb->len & AX179A_TX_DESC_LEN_MASK;
774 int frame_size = dev->maxpacket;
775 struct sk_buff *ax_skb;
776 u64 *tx_desc_ptr;
777 int padding_size;
778 int headroom;
779 int tailroom;
780 u16 tci = 0;
781
782 /* TSO MSS */
> 783 tx_desc |= FIELD_PREP(AX179A_TX_DESC_MSS, (u64)skb_shinfo(skb)->gso_size);
784
785 headroom = (skb->len + sizeof(tx_desc)) % 8;
786 padding_size = headroom ? 8 - headroom : 0;
787
788 if (((skb->len + sizeof(tx_desc) + padding_size) % frame_size) == 0) {
789 padding_size += 8;
790 tx_desc |= AX179A_TX_DESC_DROP_PADD;
791 }
792
793 if ((dev->net->features & NETIF_F_HW_VLAN_CTAG_TX) && (vlan_get_tag(skb, &tci) >= 0)) {
794 tx_desc |= AX179A_TX_DESC_VLAN;
795 tx_desc |= FIELD_PREP(AX179A_TX_DESC_VLAN_ID, (u64)tci);
796 }
797
798 if (!dev->can_dma_sg && (dev->net->features & NETIF_F_SG) && skb_linearize(skb)) {
799 dev_kfree_skb_any(skb);
800 return NULL;
801 }
802
803 headroom = skb_headroom(skb);
804 tailroom = skb_tailroom(skb);
805
806 if (!(headroom >= sizeof(tx_desc) && tailroom >= padding_size)) {
807 ax_skb = skb_copy_expand(skb, sizeof(tx_desc), padding_size, flags);
808 dev_kfree_skb_any(skb);
809 skb = ax_skb;
810 if (!skb)
811 return NULL;
812 }
813 if (padding_size != 0)
814 skb_put_zero(skb, padding_size);
815 /* Copy TX header */
816 tx_desc_ptr = skb_push(skb, sizeof(tx_desc));
817 put_unaligned_le64(tx_desc, tx_desc_ptr);
818
819 usbnet_set_skb_tx_stats(skb, 1, 0);
820
821 return skb;
822 }
823
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH net-next v16 04/13] ax88179_178a: Add HW support for AX179A-based chips
[not found] <20261004-ax88179a-v16-4-2a9ae4e68f7b@birger-koblitz.de>
2026-10-04 18:06 ` [PATCH net-next v16 04/13] ax88179_178a: Add HW support for AX179A-based chips kernel test robot
@ 2026-10-04 20:12 ` kernel test robot
1 sibling, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-10-04 20:12 UTC (permalink / raw)
To: Birger Koblitz, Andrew Lunn, David S. Miller, Jakub Kicinski,
Paolo Abeni, Russell King, Heiner Kallweit, Huacai Chen,
WANG Xuerui, Eric Dumazet
Cc: llvm, oe-kbuild-all, netdev, linux-usb, linux-kernel, loongarch,
Jianhui Xu, Birger Koblitz
Hi Birger,
kernel test robot noticed the following build errors:
[auto build test ERROR on 071876fd50482a68603a9460d80dd6dd58827ee1]
url: https://github.com/intel-lab-lkp/linux/commits/Birger-Koblitz/phylink-Add-phylink_mac_interrupt/20261004-073905
base: 071876fd50482a68603a9460d80dd6dd58827ee1
patch link: https://lore.kernel.org/r/20261004-ax88179a-v16-4-2a9ae4e68f7b%40birger-koblitz.de
patch subject: [PATCH net-next v16 04/13] ax88179_178a: Add HW support for AX179A-based chips
config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20261005/202610050430.ZlYvvYse-lkp@intel.com/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 5f609f950d2e80addf5566623013db68394334db)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261005/202610050430.ZlYvvYse-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202610050430.ZlYvvYse-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/net/usb/ax88179a_devices.c:694:2: error: incompatible integer to pointer conversion passing 'u64' (aka 'unsigned long long') to parameter of type '__u64 *' (aka 'unsigned long long *'); take the address with & [-Wint-conversion]
694 | le64_to_cpus(rx_hdr);
| ^~~~~~~~~~~~~~~~~~~~
include/linux/byteorder/generic.h:111:22: note: expanded from macro 'le64_to_cpus'
111 | #define le64_to_cpus __le64_to_cpus
| ^
include/uapi/linux/byteorder/big_endian.h:94:37: note: expanded from macro '__le64_to_cpus'
94 | #define __le64_to_cpus(x) __swab64s((x))
| ^~~
include/uapi/linux/swab.h:265:46: note: passing argument to parameter 'p' here
265 | static __always_inline void __swab64s(__u64 *p)
| ^
1 error generated.
vim +694 drivers/net/usb/ax88179a_devices.c
655
656 static int ax88179a_rx_fixup(struct usbnet *dev, struct sk_buff *skb)
657 {
658 struct ax88179_data *ax179_data = dev->driver_priv;
659 struct sk_buff *ax_skb;
660 u32 hdr_off, pkt_end;
661 u64 *pkt_desc_ptr;
662 u16 vlan_tag;
663 u16 pkt_cnt;
664 u64 rx_hdr;
665
666 /* SKB contents for AX179A-based chips:
667 * <packet 1>
668 * ...
669 * <packet N>
670 * <per-packet metadata entry 1>
671 * ...
672 * <per-packet metadata entry N>
673 * <rx_hdr>
674 *
675 * where:
676 * <packet N> contains pkt_len data bytes and padding:
677 * 2 bytes of IP alignment (optional, depends on AX_RX_CTL_IPE flag)
678 * packet data received
679 * optional padding to 8-bytes boundary
680 * <per-packet metadata entry N> contains 8 bytes:
681 * pkt_len and fields AX_RXHDR_*
682 * <rx-hdr> contains 8 bytes:
683 * pkt_cnt and hdr_off (offset of <per-packet metadata entry 1>)
684 *
685 * pkt_cnt is number of entries in the per-packet metadata array.
686 */
687
688 if (!skb || skb->len < sizeof(rx_hdr))
689 goto err;
690
691 /* RX Descriptor Header */
692 skb_trim(skb, skb->len - sizeof(rx_hdr));
693 rx_hdr = *(u64 *)skb_tail_pointer(skb);
> 694 le64_to_cpus(rx_hdr);
695
696 /* Check these packets */
697 hdr_off = FIELD_GET(AX179A_RX_DH_DESC_OFFSET, rx_hdr);
698 pkt_cnt = rx_hdr & AX179A_RX_DH_PKT_CNT_MASK;
699
700 /* Consistency check header position */
701 if (hdr_off != skb->len - (pkt_cnt * sizeof(rx_hdr)))
702 goto err;
703
704 /* Make sure that the bounds of the metadata array are inside the SKB
705 * (and in front of the counter at the end).
706 */
707 if (pkt_cnt * 8 + hdr_off > skb->len)
708 goto err;
709
710 /* Packets must not overlap the metadata array */
711 skb_trim(skb, hdr_off);
712
713 if (!pkt_cnt)
714 goto err;
715
716 /* Get the first RX packet descriptor */
717 pkt_desc_ptr = (u64 *)(skb->data + hdr_off);
718
719 pkt_end = 0;
720 while (pkt_cnt--) {
721 u64 pkt_desc = le64_to_cpu(*pkt_desc_ptr);
722 u32 pkt_len_plus_padd;
723 u32 pkt_len;
724
725 pkt_len = FIELD_GET(AX179A_RX_PD_LEN, pkt_desc);
726 pkt_len -= (ax179_data->ip_align ? 2 : 0);
727 pkt_len_plus_padd = ((pkt_len + 7 + (ax179_data->ip_align ? 2 : 0)) & 0x7FFF8);
728
729 pkt_end += pkt_len_plus_padd;
730 if (pkt_end > hdr_off || (pkt_cnt == 0 && pkt_end != hdr_off))
731 goto err;
732
733 if (pkt_desc & AX179A_RX_PD_DROP || !(pkt_desc & AX179A_RX_PD_RX_OK) ||
734 pkt_len > (dev->hard_mtu + AX179A_RX_HW_PAD) || pkt_len < 2 + ETH_HLEN) {
735 skb_pull(skb, pkt_len_plus_padd);
736
737 /* Next RX Packet Descriptor */
738 pkt_desc_ptr++;
739 continue;
740 }
741
742 ax_skb = netdev_alloc_skb_ip_align(dev->net, pkt_len);
743 if (!ax_skb)
744 goto err;
745
746 skb_put(ax_skb, pkt_len);
747 memcpy(ax_skb->data, skb->data + (ax179_data->ip_align ? AX179A_RX_HW_PAD : 0),
748 pkt_len);
749
750 if (ax179_data->rx_checksum)
751 ax88179a_rx_checksum(ax_skb, pkt_desc);
752
753 if (pkt_desc & AX179A_RX_PD_VLAN) {
754 vlan_tag = pkt_desc >> AX179A_RX_PD_VLAN_SHIFT;
755 __vlan_hwaccel_put_tag(ax_skb, htons(ETH_P_8021Q), vlan_tag);
756 }
757
758 usbnet_skb_return(dev, ax_skb);
759 skb_pull(skb, pkt_len_plus_padd);
760
761 /* Next RX Packet Header */
762 pkt_desc_ptr++;
763 }
764
765 return 1;
766
767 err:
768 return 0;
769 }
770
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-10-04 20:12 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20261004-ax88179a-v16-4-2a9ae4e68f7b@birger-koblitz.de>
2026-10-04 18:06 ` [PATCH net-next v16 04/13] ax88179_178a: Add HW support for AX179A-based chips kernel test robot
2026-10-04 20:12 ` kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox