Hi Ansuel,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on net-next/master]
url:
https://github.com/0day-ci/linux/commits/Ansuel-Smith/Add-support-for-qca...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git
59d58d93af94d7b546f12438b4a3d781b7190095
config: arm-randconfig-s031-20211209
(
https://download.01.org/0day-ci/archive/20211210/202112100354.XoEu9gUo-lk...)
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0
reproduce:
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-dirty
#
https://github.com/0day-ci/linux/commit/1283a493fbd646756be33415ab9d3830d...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Ansuel-Smith/Add-support-for-qca8k-mdio-rw-in-Ethernet-packet/20211208-114220
git checkout 1283a493fbd646756be33415ab9d3830d6ffb0af
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm SHELL=/bin/bash
drivers/net/bonding/ drivers/net/dsa/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
> drivers/net/dsa/qca8k.c:205:26: sparse: sparse: incorrect type in
assignment (different base types) @@ expected unsigned short [usertype] hdr @@ got
restricted __be16 [usertype] @@
drivers/net/dsa/qca8k.c:205:26: sparse:
expected unsigned short [usertype] hdr
drivers/net/dsa/qca8k.c:205:26: sparse: got restricted __be16 [usertype]
> drivers/net/dsa/qca8k.c:220:63: sparse: sparse: Using plain
integer as NULL pointer
vim +205 drivers/net/dsa/qca8k.c
173
174 static struct sk_buff *qca8k_alloc_mdio_header(struct qca8k_port_tag *header, enum
mdio_cmd cmd,
175 u32 reg, u32 *val)
176 {
177 struct mdio_ethhdr *mdio_ethhdr;
178 struct sk_buff *skb;
179 u16 hdr;
180
181 skb = dev_alloc_skb(QCA_HDR_MDIO_PKG_LEN);
182
183 prefetchw(skb->data);
184
185 skb_reset_mac_header(skb);
186 skb_set_network_header(skb, skb->len);
187
188 mdio_ethhdr = skb_push(skb, QCA_HDR_MDIO_HEADER_LEN + QCA_HDR_LEN);
189
190 hdr = FIELD_PREP(QCA_HDR_XMIT_VERSION, QCA_HDR_VERSION);
191 hdr |= QCA_HDR_XMIT_FROM_CPU;
192 hdr |= FIELD_PREP(QCA_HDR_XMIT_DP_BIT, BIT(0));
193 hdr |= FIELD_PREP(QCA_HDR_XMIT_CONTROL, QCA_HDR_XMIT_TYPE_RW_REG);
194
195 mdio_ethhdr->seq = FIELD_PREP(QCA_HDR_MDIO_SEQ_NUM, 200);
196
197 mdio_ethhdr->command = FIELD_PREP(QCA_HDR_MDIO_ADDR, reg);
198 mdio_ethhdr->command |= FIELD_PREP(QCA_HDR_MDIO_LENGTH, 4);
199 mdio_ethhdr->command |= FIELD_PREP(QCA_HDR_MDIO_CMD, cmd);
200 mdio_ethhdr->command |= FIELD_PREP(QCA_HDR_MDIO_CHECK_CODE,
MDIO_CHECK_CODE_VAL);
201
202 if (cmd == MDIO_WRITE)
203 mdio_ethhdr->mdio_data = *val;
204
205 mdio_ethhdr->hdr = htons(hdr);
206
207 skb_put_zero(skb, QCA_HDR_MDIO_DATA2_LEN);
208 skb_put_zero(skb, QCA_HDR_MDIO_PADDING_LEN);
209
210 return skb;
211 }
212
213 static int qca8k_read_eth(struct qca8k_priv *priv, u32 reg, u32 *val)
214 {
215 struct qca8k_port_tag *header = priv->header_mdio;
216 struct sk_buff *skb;
217 bool ack;
218 int ret;
219
220 skb = qca8k_alloc_mdio_header(header, MDIO_READ, reg, 0);
221 skb->dev = dsa_to_port(priv->ds, 0)->master;
222
223 mutex_lock(&header->mdio_mutex);
224
225 reinit_completion(&header->rw_done);
226 header->seq = 200;
227 header->ack = false;
228
229 dev_queue_xmit(skb);
230
231 ret = wait_for_completion_timeout(&header->rw_done,
QCA8K_MDIO_RW_ETHERNET);
232
233 *val = header->data[0];
234 ack = header->ack;
235
236 mutex_unlock(&header->mdio_mutex);
237
238 if (ret <= 0)
239 return -ETIMEDOUT;
240
241 if (!ack)
242 return -EINVAL;
243
244 return 0;
245 }
246
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org