Hi You, kernel test robot noticed the following build errors: [auto build test ERROR on wireless-next/main] [also build test ERROR on wireless/main linus/master v6.4 next-20230626] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/You-Kangren/wifi-ray_cs-Replace-the-ternary-conditional-operator-with-min/20230626-173628 base: https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git main patch link: https://lore.kernel.org/r/20230626093504.1325-1-youkangren%40vivo.com patch subject: [PATCH] wifi: ray_cs: Replace the ternary conditional operator with min() config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20230627/202306270226.5BCJkelL-lkp@xxxxxxxxx/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce: (https://download.01.org/0day-ci/archive/20230627/202306270226.5BCJkelL-lkp@xxxxxxxxx/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@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202306270226.5BCJkelL-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): In file included from include/linux/kernel.h:27, from arch/x86/include/asm/percpu.h:27, from arch/x86/include/asm/nospec-branch.h:14, from arch/x86/include/asm/paravirt_types.h:27, from arch/x86/include/asm/ptrace.h:97, from arch/x86/include/asm/math_emu.h:5, from arch/x86/include/asm/processor.h:13, from arch/x86/include/asm/timex.h:5, from include/linux/timex.h:67, from include/linux/time32.h:13, from include/linux/time.h:60, from include/linux/stat.h:19, from include/linux/module.h:13, from drivers/net/wireless/legacy/ray_cs.c:20: drivers/net/wireless/legacy/ray_cs.c: In function 'ray_rx': include/linux/minmax.h:20:35: warning: comparison of distinct pointer types lacks a cast 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^~ include/linux/minmax.h:26:18: note: in expansion of macro '__typecheck' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~ include/linux/minmax.h:36:31: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:67:25: note: in expansion of macro '__careful_cmp' 67 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ drivers/net/wireless/legacy/ray_cs.c:2089:35: note: in expansion of macro 'min' 2089 | min(rx_len, sizeof(struct beacon_rx)); | ^~~ >> drivers/net/wireless/legacy/ray_cs.c:2089:72: error: expected ')' before ';' token 2089 | min(rx_len, sizeof(struct beacon_rx)); | ^ drivers/net/wireless/legacy/ray_cs.c:2088:34: note: to match this '(' 2088 | copy_from_rx_buff(local, (UCHAR *) &local->last_bcn, pkt_addr, | ^ >> drivers/net/wireless/legacy/ray_cs.c:2098:23: error: expected ';' before '}' token 2098 | break; | ^ | ; 2099 | } | ~ vim +2089 drivers/net/wireless/legacy/ray_cs.c 2042 2043 /*===========================================================================*/ 2044 static void ray_rx(struct net_device *dev, ray_dev_t *local, 2045 struct rcs __iomem *prcs) 2046 { 2047 int rx_len; 2048 unsigned int pkt_addr; 2049 void __iomem *pmsg; 2050 pr_debug("ray_rx process rx packet\n"); 2051 2052 /* Calculate address of packet within Rx buffer */ 2053 pkt_addr = ((readb(&prcs->var.rx_packet.rx_data_ptr[0]) << 8) 2054 + readb(&prcs->var.rx_packet.rx_data_ptr[1])) & RX_BUFF_END; 2055 /* Length of first packet fragment */ 2056 rx_len = (readb(&prcs->var.rx_packet.rx_data_length[0]) << 8) 2057 + readb(&prcs->var.rx_packet.rx_data_length[1]); 2058 2059 local->last_rsl = readb(&prcs->var.rx_packet.rx_sig_lev); 2060 pmsg = local->rmem + pkt_addr; 2061 switch (readb(pmsg)) { 2062 case DATA_TYPE: 2063 pr_debug("ray_rx data type\n"); 2064 rx_data(dev, prcs, pkt_addr, rx_len); 2065 break; 2066 case AUTHENTIC_TYPE: 2067 pr_debug("ray_rx authentic type\n"); 2068 if (sniffer) 2069 rx_data(dev, prcs, pkt_addr, rx_len); 2070 else 2071 rx_authenticate(local, prcs, pkt_addr, rx_len); 2072 break; 2073 case DEAUTHENTIC_TYPE: 2074 pr_debug("ray_rx deauth type\n"); 2075 if (sniffer) 2076 rx_data(dev, prcs, pkt_addr, rx_len); 2077 else 2078 rx_deauthenticate(local, prcs, pkt_addr, rx_len); 2079 break; 2080 case NULL_MSG_TYPE: 2081 pr_debug("ray_cs rx NULL msg\n"); 2082 break; 2083 case BEACON_TYPE: 2084 pr_debug("ray_rx beacon type\n"); 2085 if (sniffer) 2086 rx_data(dev, prcs, pkt_addr, rx_len); 2087 2088 copy_from_rx_buff(local, (UCHAR *) &local->last_bcn, pkt_addr, > 2089 min(rx_len, sizeof(struct beacon_rx)); 2090 2091 local->beacon_rxed = 1; 2092 /* Get the statistics so the card counters never overflow */ 2093 ray_get_stats(dev); 2094 break; 2095 default: 2096 pr_debug("ray_cs unknown pkt type %2x\n", 2097 (unsigned int)readb(pmsg)); > 2098 break; 2099 } 2100 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki