Re: [RFC PATCH net-next 4/5] net: dsa: realtek-smi: add rtl8365mb subdriver for RTL8365MB-VC
by kernel test robot
Hi "Alvin,
[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/Alvin-ipraga/net-dsa-add-support...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 9b60ac54ab7cf92af76240cdad549e8fde605eee
config: powerpc-randconfig-r025-20210822 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project a83d99c55ebb14532c414066a5aa3bdb65389965)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install powerpc cross compiling tool for clang build
# apt-get install binutils-powerpc64-linux-gnu
# https://github.com/0day-ci/linux/commit/678769f73446be05b2f03f10fe1ccbe16...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Alvin-ipraga/net-dsa-add-support-for-RTL8365MB-VC/20210823-033419
git checkout 678769f73446be05b2f03f10fe1ccbe161a35019
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/net/dsa/rtl8365mb.c:1188:5: warning: no previous prototype for function 'rtl8365mb_port_vlan_filtering' [-Wmissing-prototypes]
int rtl8365mb_port_vlan_filtering(struct dsa_switch *ds, int port,
^
drivers/net/dsa/rtl8365mb.c:1188:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int rtl8365mb_port_vlan_filtering(struct dsa_switch *ds, int port,
^
static
>> drivers/net/dsa/rtl8365mb.c:1755:24: warning: variable 'irq' is uninitialized when used here [-Wuninitialized]
irq_set_parent(virq, irq);
^~~
drivers/net/dsa/rtl8365mb.c:1727:9: note: initialize the variable 'irq' to silence this warning
int irq;
^
= 0
drivers/net/dsa/rtl8365mb.c:1943:20: warning: variable 'mb' set but not used [-Wunused-but-set-variable]
struct rtl8365mb *mb;
^
3 warnings generated.
vim +/rtl8365mb_port_vlan_filtering +1188 drivers/net/dsa/rtl8365mb.c
1187
> 1188 int rtl8365mb_port_vlan_filtering(struct dsa_switch *ds, int port,
1189 bool vlan_filtering,
1190 struct netlink_ext_ack *extack)
1191 {
1192 struct realtek_smi *smi = ds->priv;
1193 u32 phys_port = PORT_NUM_L2P(port);
1194 int ret;
1195
1196 dev_info(smi->dev, "%s filtering on port %d\n",
1197 vlan_filtering ? "enable" : "disable", port);
1198
1199 /* vlan_filtering on: Discard VLAN tagged frames if the port is not a
1200 * member of the VLAN with which the packet is associated. Untagged
1201 * packets should also be discarded unless the port has a PVID
1202 * programmed.
1203 *
1204 * vlan_filtering off: Accept all VLAN tagged frames, including
1205 * untagged.
1206 */
1207 ret = regmap_update_bits(
1208 smi->map, RTL8365MB_VLAN_INGRESS_REG,
1209 RTL8365MB_VLAN_INGRESS_FILTER_PORT_EN_MASK(phys_port),
1210 (vlan_filtering ? 1 : 0)
1211 << RTL8365MB_VLAN_INGRESS_FILTER_PORT_EN_OFFSET(
1212 phys_port));
1213 if (ret)
1214 return ret;
1215
1216 return 0;
1217 }
1218
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year
Re: [RFC PATCH net-next 4/5] net: dsa: realtek-smi: add rtl8365mb subdriver for RTL8365MB-VC
by kernel test robot
Hi "Alvin,
[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/Alvin-ipraga/net-dsa-add-support...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 9b60ac54ab7cf92af76240cdad549e8fde605eee
config: powerpc-allyesconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/678769f73446be05b2f03f10fe1ccbe16...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Alvin-ipraga/net-dsa-add-support-for-RTL8365MB-VC/20210823-033419
git checkout 678769f73446be05b2f03f10fe1ccbe161a35019
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/net/dsa/rtl8365mb.c:1188:5: warning: no previous prototype for 'rtl8365mb_port_vlan_filtering' [-Wmissing-prototypes]
1188 | int rtl8365mb_port_vlan_filtering(struct dsa_switch *ds, int port,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8365mb.c: In function 'rtl8365mb_setup':
>> drivers/net/dsa/rtl8365mb.c:1943:27: warning: variable 'mb' set but not used [-Wunused-but-set-variable]
1943 | struct rtl8365mb *mb;
| ^~
vim +/rtl8365mb_port_vlan_filtering +1188 drivers/net/dsa/rtl8365mb.c
1187
> 1188 int rtl8365mb_port_vlan_filtering(struct dsa_switch *ds, int port,
1189 bool vlan_filtering,
1190 struct netlink_ext_ack *extack)
1191 {
1192 struct realtek_smi *smi = ds->priv;
1193 u32 phys_port = PORT_NUM_L2P(port);
1194 int ret;
1195
1196 dev_info(smi->dev, "%s filtering on port %d\n",
1197 vlan_filtering ? "enable" : "disable", port);
1198
1199 /* vlan_filtering on: Discard VLAN tagged frames if the port is not a
1200 * member of the VLAN with which the packet is associated. Untagged
1201 * packets should also be discarded unless the port has a PVID
1202 * programmed.
1203 *
1204 * vlan_filtering off: Accept all VLAN tagged frames, including
1205 * untagged.
1206 */
1207 ret = regmap_update_bits(
1208 smi->map, RTL8365MB_VLAN_INGRESS_REG,
1209 RTL8365MB_VLAN_INGRESS_FILTER_PORT_EN_MASK(phys_port),
1210 (vlan_filtering ? 1 : 0)
1211 << RTL8365MB_VLAN_INGRESS_FILTER_PORT_EN_OFFSET(
1212 phys_port));
1213 if (ret)
1214 return ret;
1215
1216 return 0;
1217 }
1218
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year
Re: [RFC PATCH net-next 3/5] net: dsa: tag_rtl8_4: add realtek 8 byte protocol 4 tag
by kernel test robot
Hi "Alvin,
[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/Alvin-ipraga/net-dsa-add-support...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 9b60ac54ab7cf92af76240cdad549e8fde605eee
config: x86_64-randconfig-a014-20210822 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project a83d99c55ebb14532c414066a5aa3bdb65389965)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/beb62a71799fa3a99ca2e585290454c60...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Alvin-ipraga/net-dsa-add-support-for-RTL8365MB-VC/20210823-033419
git checkout beb62a71799fa3a99ca2e585290454c60b174cd7
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> net/dsa/tag_rtl8_4.c:78:6: warning: variable 'out' set but not used [-Wunused-but-set-variable]
u16 out;
^
1 warning generated.
vim +/out +78 net/dsa/tag_rtl8_4.c
71
72 static struct sk_buff *rtl8_4_tag_xmit(struct sk_buff *skb,
73 struct net_device *dev)
74 {
75 struct dsa_port *dp = dsa_slave_to_port(dev);
76 __be16 *p;
77 u8 *tag;
> 78 u16 out;
79
80 /* Pad out so that the (stripped) packet is at least 64 bytes long
81 * (including FCS), otherwise the switch will drop the packet.
82 * Then we need an additional 8 bytes for the Realtek tag.
83 */
84 if (__skb_put_padto(skb, ETH_ZLEN + RTL8_4_TAG_LEN, false))
85 return NULL;
86
87 skb_push(skb, RTL8_4_TAG_LEN);
88
89 dsa_alloc_etype_header(skb, RTL8_4_TAG_LEN);
90 tag = dsa_etype_header_pos_tx(skb);
91
92 /* Set Realtek EtherType */
93 p = (__be16 *)tag;
94 *p = htons(RTL8_4_ETHERTYPE);
95
96 /* Set Protocol; zero REASON */
97 p = (__be16 *)(tag + 2);
98 *p = htons(RTL8_4_PROTOCOL_RTL8365MB << 8);
99
100 /* Zero FID_EN, FID, PRI_EN, PRI, KEEP, LEARN_DIS */
101 p = (__be16 *)(tag + 4);
102 *p = 0;
103
104 /* Zero ALLOW; set RX (CPU->switch) forwarding port mask */
105 p = (__be16 *)(tag + 6);
106 out = BIT(dp->index);
107 *p = htons(~(1 << 15) & BIT(dp->index));
108
109 return skb;
110 }
111
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year
Re: [RFC PATCH net-next 3/5] net: dsa: tag_rtl8_4: add realtek 8 byte protocol 4 tag
by kernel test robot
Hi "Alvin,
[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/Alvin-ipraga/net-dsa-add-support...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 9b60ac54ab7cf92af76240cdad549e8fde605eee
config: powerpc-allyesconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/beb62a71799fa3a99ca2e585290454c60...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Alvin-ipraga/net-dsa-add-support-for-RTL8365MB-VC/20210823-033419
git checkout beb62a71799fa3a99ca2e585290454c60b174cd7
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
net/dsa/tag_rtl8_4.c: In function 'rtl8_4_tag_xmit':
>> net/dsa/tag_rtl8_4.c:78:13: warning: variable 'out' set but not used [-Wunused-but-set-variable]
78 | u16 out;
| ^~~
vim +/out +78 net/dsa/tag_rtl8_4.c
71
72 static struct sk_buff *rtl8_4_tag_xmit(struct sk_buff *skb,
73 struct net_device *dev)
74 {
75 struct dsa_port *dp = dsa_slave_to_port(dev);
76 __be16 *p;
77 u8 *tag;
> 78 u16 out;
79
80 /* Pad out so that the (stripped) packet is at least 64 bytes long
81 * (including FCS), otherwise the switch will drop the packet.
82 * Then we need an additional 8 bytes for the Realtek tag.
83 */
84 if (__skb_put_padto(skb, ETH_ZLEN + RTL8_4_TAG_LEN, false))
85 return NULL;
86
87 skb_push(skb, RTL8_4_TAG_LEN);
88
89 dsa_alloc_etype_header(skb, RTL8_4_TAG_LEN);
90 tag = dsa_etype_header_pos_tx(skb);
91
92 /* Set Realtek EtherType */
93 p = (__be16 *)tag;
94 *p = htons(RTL8_4_ETHERTYPE);
95
96 /* Set Protocol; zero REASON */
97 p = (__be16 *)(tag + 2);
98 *p = htons(RTL8_4_PROTOCOL_RTL8365MB << 8);
99
100 /* Zero FID_EN, FID, PRI_EN, PRI, KEEP, LEARN_DIS */
101 p = (__be16 *)(tag + 4);
102 *p = 0;
103
104 /* Zero ALLOW; set RX (CPU->switch) forwarding port mask */
105 p = (__be16 *)(tag + 6);
106 out = BIT(dp->index);
107 *p = htons(~(1 << 15) & BIT(dp->index));
108
109 return skb;
110 }
111
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year
[kees:kspp/memcpy/next-20210803/v2-devel 86/86] progs/bpf_iter_netlink.c:11:9: warning: incompatible pointer types returning 'struct inode___50 *' from a function with result type 'struct inode *'
by kernel test robot
Hi Kees,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git kspp/memcpy/next-20210803/v2-devel
head: 4752984fc24104f399e70f99d48afa047d86a381
commit: 4752984fc24104f399e70f99d48afa047d86a381 [86/86] DEBUG find 0-element destinations
config: x86_64-rhel-8.3-kselftests (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git/commit/?id...
git remote add kees https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git
git fetch --no-tags kees kspp/memcpy/next-20210803/v2-devel
git checkout 4752984fc24104f399e70f99d48afa047d86a381
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> progs/bpf_iter_netlink.c:11:9: warning: incompatible pointer types returning 'struct inode___50 *' from a function with result type 'struct inode *' [-Wincompatible-pointer-types]
return &container_of(socket, struct socket_alloc, socket)->vfs_inode;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> progs/bpf_iter_netlink.c:32:4: warning: incompatible pointer types assigning to 'struct sock *' from 'struct sock___95 *' [-Wincompatible-pointer-types]
s = &nlk->sk;
^ ~~~~~~~~
2 warnings generated.
--
>> progs/bpf_iter_tcp6.c:58:8: warning: incompatible pointer types assigning to 'const struct inode *' from 'struct inode___50 *' [-Wincompatible-pointer-types]
inode = &container_of(sk_socket, struct socket_alloc, socket)->vfs_inode;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
progs/bpf_iter_tcp6.c:89:7: warning: incompatible pointer types assigning to 'const struct inet_sock *' from 'const struct inet_sock___5 *' [-Wincompatible-pointer-types]
inet = &icsk->icsk_inet;
^ ~~~~~~~~~~~~~~~~
>> progs/bpf_iter_tcp6.c:90:5: warning: incompatible pointer types assigning to 'const struct sock *' from 'const struct sock___39 *' [-Wincompatible-pointer-types]
sp = &inet->sk;
^ ~~~~~~~~~
>> progs/bpf_iter_tcp6.c:185:23: warning: incompatible pointer types initializing 'struct request_sock *' with an expression of type 'struct request_sock___54 *' [-Wincompatible-pointer-types]
struct request_sock *req = &irsk->req;
^ ~~~~~~~~~~
4 warnings generated.
--
>> progs/bpf_iter_udp6.c:26:8: warning: incompatible pointer types assigning to 'const struct inode *' from 'struct inode___50 *' [-Wincompatible-pointer-types]
inode = &container_of(sk_socket, struct socket_alloc, socket)->vfs_inode;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
progs/bpf_iter_udp6.c:54:7: warning: incompatible pointer types assigning to 'struct inet_sock *' from 'struct inet_sock___2 *' [-Wincompatible-pointer-types]
inet = &udp_sk->inet;
^ ~~~~~~~~~~~~~
>> progs/bpf_iter_udp6.c:73:21: warning: incompatible pointer types passing 'struct sock___39 *' to parameter of type 'const struct sock *' [-Wincompatible-pointer-types]
sock_i_ino(&inet->sk),
^~~~~~~~~
/tools/include/bpf/bpf_helpers.h:202:24: note: expanded from macro 'BPF_SEQ_PRINTF'
___bpf_fill(___param, args); \
^~~~
/tools/include/bpf/bpf_helpers.h:189:55: note: expanded from macro '___bpf_fill'
___bpf_apply(___bpf_fill, ___bpf_narg(args))(arr, 0, args)
^~~~
/tools/include/bpf/bpf_helpers.h:187:81: note: expanded from macro '___bpf_fill12'
#define ___bpf_fill12(arr, p, x, args...) arr[p] = x; ___bpf_fill11(arr, p + 1, args)
^~~~
note: (skipping 5 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/tools/include/bpf/bpf_helpers.h:181:79: note: expanded from macro '___bpf_fill6'
#define ___bpf_fill6(arr, p, x, args...) arr[p] = x; ___bpf_fill5(arr, p + 1, args)
^~~~
/tools/include/bpf/bpf_helpers.h:180:79: note: expanded from macro '___bpf_fill5'
#define ___bpf_fill5(arr, p, x, args...) arr[p] = x; ___bpf_fill4(arr, p + 1, args)
^~~~
/tools/include/bpf/bpf_helpers.h:179:51: note: expanded from macro '___bpf_fill4'
#define ___bpf_fill4(arr, p, x, args...) arr[p] = x; ___bpf_fill3(arr, p + 1, args)
^
progs/bpf_iter_udp6.c:17:43: note: passing argument to parameter 'sk' here
static long sock_i_ino(const struct sock *sk)
^
3 warnings generated.
--
>> progs/bpf_iter_udp4.c:19:8: warning: incompatible pointer types assigning to 'const struct inode *' from 'struct inode___50 *' [-Wincompatible-pointer-types]
inode = &container_of(sk_socket, struct socket_alloc, socket)->vfs_inode;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
progs/bpf_iter_udp4.c:46:7: warning: incompatible pointer types assigning to 'struct inet_sock *' from 'struct inet_sock___2 *' [-Wincompatible-pointer-types]
inet = &udp_sk->inet;
^ ~~~~~~~~~~~~~
progs/bpf_iter_udp4.c:50:7: warning: incompatible pointer types assigning to 'struct inet_sock *' from 'struct inet_sock___2 *' [-Wincompatible-pointer-types]
inet = &udp_sk->inet;
^ ~~~~~~~~~~~~~
>> progs/bpf_iter_udp4.c:65:21: warning: incompatible pointer types passing 'struct sock___39 *' to parameter of type 'const struct sock *' [-Wincompatible-pointer-types]
sock_i_ino(&inet->sk),
^~~~~~~~~
/tools/include/bpf/bpf_helpers.h:202:24: note: expanded from macro 'BPF_SEQ_PRINTF'
___bpf_fill(___param, args); \
^~~~
/tools/include/bpf/bpf_helpers.h:189:55: note: expanded from macro '___bpf_fill'
___bpf_apply(___bpf_fill, ___bpf_narg(args))(arr, 0, args)
^~~~
/tools/include/bpf/bpf_helpers.h:187:81: note: expanded from macro '___bpf_fill12'
#define ___bpf_fill12(arr, p, x, args...) arr[p] = x; ___bpf_fill11(arr, p + 1, args)
^~~~
note: (skipping 5 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/tools/include/bpf/bpf_helpers.h:181:79: note: expanded from macro '___bpf_fill6'
#define ___bpf_fill6(arr, p, x, args...) arr[p] = x; ___bpf_fill5(arr, p + 1, args)
^~~~
/tools/include/bpf/bpf_helpers.h:180:79: note: expanded from macro '___bpf_fill5'
#define ___bpf_fill5(arr, p, x, args...) arr[p] = x; ___bpf_fill4(arr, p + 1, args)
^~~~
/tools/include/bpf/bpf_helpers.h:179:51: note: expanded from macro '___bpf_fill4'
#define ___bpf_fill4(arr, p, x, args...) arr[p] = x; ___bpf_fill3(arr, p + 1, args)
^
progs/bpf_iter_udp4.c:10:43: note: passing argument to parameter 'sk' here
static long sock_i_ino(const struct sock *sk)
^
4 warnings generated.
--
>> progs/bpf_iter_tcp4.c:58:8: warning: incompatible pointer types assigning to 'const struct inode *' from 'struct inode___50 *' [-Wincompatible-pointer-types]
inode = &container_of(sk_socket, struct socket_alloc, socket)->vfs_inode;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
progs/bpf_iter_tcp4.c:89:7: warning: incompatible pointer types assigning to 'const struct inet_sock *' from 'const struct inet_sock___5 *' [-Wincompatible-pointer-types]
inet = &icsk->icsk_inet;
^ ~~~~~~~~~~~~~~~~
>> progs/bpf_iter_tcp4.c:90:5: warning: incompatible pointer types assigning to 'const struct sock *' from 'const struct sock___39 *' [-Wincompatible-pointer-types]
sp = &inet->sk;
^ ~~~~~~~~~
>> progs/bpf_iter_tcp4.c:176:23: warning: incompatible pointer types initializing 'struct request_sock *' with an expression of type 'struct request_sock___54 *' [-Wincompatible-pointer-types]
struct request_sock *req = &irsk->req;
^ ~~~~~~~~~~
4 warnings generated.
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year
Re: [PATCH 07/12] bnxt: Read VPD with pci_vpd_alloc()
by kernel test robot
Hi Heiner,
I love your patch! Perhaps something to improve:
[auto build test WARNING on scsi/for-next]
[also build test WARNING on pci/next mkp-scsi/for-next linus/master v5.14-rc6 next-20210820]
[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]
url: https://github.com/0day-ci/linux/commits/Heiner-Kallweit/PCI-VPD-Convert-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next
config: xtensa-allyesconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/5658a697843355ac5fbf26ae3b7c57dd0...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Heiner-Kallweit/PCI-VPD-Convert-more-users-to-the-new-VPD-API-functions/20210822-220229
git checkout 5658a697843355ac5fbf26ae3b7c57dd0d794238
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=xtensa
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_request_irq':
drivers/net/ethernet/broadcom/bnxt/bnxt.c:9000:16: warning: variable 'j' set but not used [-Wunused-but-set-variable]
9000 | int i, j, rc = 0;
| ^
drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_vpd_read_info':
drivers/net/ethernet/broadcom/bnxt/bnxt.c:12987:20: error: implicit declaration of function 'pci_vpd_alloc'; did you mean 'pci_pool_alloc'? [-Werror=implicit-function-declaration]
12987 | vpd_data = pci_vpd_alloc(pdev, &vpd_size);
| ^~~~~~~~~~~~~
| pci_pool_alloc
>> drivers/net/ethernet/broadcom/bnxt/bnxt.c:12987:18: warning: assignment to 'u8 *' {aka 'unsigned char *'} from 'int' makes pointer from integer without a cast [-Wint-conversion]
12987 | vpd_data = pci_vpd_alloc(pdev, &vpd_size);
| ^
cc1: some warnings being treated as errors
vim +12987 drivers/net/ethernet/broadcom/bnxt/bnxt.c
12979
12980 static void bnxt_vpd_read_info(struct bnxt *bp)
12981 {
12982 struct pci_dev *pdev = bp->pdev;
12983 int i, len, pos, ro_size, size;
12984 unsigned int vpd_size;
12985 u8 *vpd_data;
12986
12987 vpd_data = pci_vpd_alloc(pdev, &vpd_size);
12988 if (IS_ERR(vpd_data)) {
12989 pci_warn(pdev, "Unable to read VPD\n");
12990 return;
12991 }
12992
12993 i = pci_vpd_find_tag(vpd_data, vpd_size, PCI_VPD_LRDT_RO_DATA);
12994 if (i < 0) {
12995 netdev_err(bp->dev, "VPD READ-Only not found\n");
12996 goto exit;
12997 }
12998
12999 ro_size = pci_vpd_lrdt_size(&vpd_data[i]);
13000 i += PCI_VPD_LRDT_TAG_SIZE;
13001 if (i + ro_size > vpd_size)
13002 goto exit;
13003
13004 pos = pci_vpd_find_info_keyword(vpd_data, i, ro_size,
13005 PCI_VPD_RO_KEYWORD_PARTNO);
13006 if (pos < 0)
13007 goto read_sn;
13008
13009 len = pci_vpd_info_field_size(&vpd_data[pos]);
13010 pos += PCI_VPD_INFO_FLD_HDR_SIZE;
13011 if (len + pos > vpd_size)
13012 goto read_sn;
13013
13014 size = min(len, BNXT_VPD_FLD_LEN - 1);
13015 memcpy(bp->board_partno, &vpd_data[pos], size);
13016
13017 read_sn:
13018 pos = pci_vpd_find_info_keyword(vpd_data, i, ro_size,
13019 PCI_VPD_RO_KEYWORD_SERIALNO);
13020 if (pos < 0)
13021 goto exit;
13022
13023 len = pci_vpd_info_field_size(&vpd_data[pos]);
13024 pos += PCI_VPD_INFO_FLD_HDR_SIZE;
13025 if (len + pos > vpd_size)
13026 goto exit;
13027
13028 size = min(len, BNXT_VPD_FLD_LEN - 1);
13029 memcpy(bp->board_serialno, &vpd_data[pos], size);
13030 exit:
13031 kfree(vpd_data);
13032 }
13033
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year
arch/sh/kernel/cpu/sh2a/clock-sh7206.c:26:44: sparse: sparse: incorrect type in argument 1 (different base types)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 9ff50bf2f2ff5fab01cac26d8eed21a89308e6ef
commit: e5fc436f06eef54ef512ea55a9db8eb9f2e76959 sparse: use static inline for __chk_{user,io}_ptr()
date: 12 months ago
config: sh-randconfig-s032-20210820 (attached as .config)
compiler: sh4-linux-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.3-348-gf0e6938b-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout e5fc436f06eef54ef512ea55a9db8eb9f2e76959
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=sh
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 >>)
>> arch/sh/kernel/cpu/sh2a/clock-sh7206.c:26:44: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/cpu/sh2a/clock-sh7206.c:26:44: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh2a/clock-sh7206.c:26:44: sparse: got unsigned int
arch/sh/kernel/cpu/sh2a/clock-sh7206.c:35:20: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/cpu/sh2a/clock-sh7206.c:35:20: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh2a/clock-sh7206.c:35:20: sparse: got unsigned int
arch/sh/kernel/cpu/sh2a/clock-sh7206.c:45:46: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/cpu/sh2a/clock-sh7206.c:45:46: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh2a/clock-sh7206.c:45:46: sparse: got unsigned int
arch/sh/kernel/cpu/sh2a/clock-sh7206.c:54:20: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/cpu/sh2a/clock-sh7206.c:54:20: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh2a/clock-sh7206.c:54:20: sparse: got unsigned int
--
>> arch/sh/kernel/cpu/sh2a/setup-sh7206.c:284:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/cpu/sh2a/setup-sh7206.c:284:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh2a/setup-sh7206.c:284:9: sparse: got unsigned int
>> arch/sh/kernel/cpu/sh2a/setup-sh7206.c:284:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/cpu/sh2a/setup-sh7206.c:284:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh2a/setup-sh7206.c:284:9: sparse: got unsigned int
arch/sh/kernel/cpu/sh2a/setup-sh7206.c:287:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/cpu/sh2a/setup-sh7206.c:287:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh2a/setup-sh7206.c:287:9: sparse: got unsigned int
arch/sh/kernel/cpu/sh2a/setup-sh7206.c:287:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/cpu/sh2a/setup-sh7206.c:287:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh2a/setup-sh7206.c:287:9: sparse: got unsigned int
--
arch/sh/boards/mach-se/7206/irq.c:37:15: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/boards/mach-se/7206/irq.c:37:15: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/boards/mach-se/7206/irq.c:37:15: sparse: got unsigned int
arch/sh/boards/mach-se/7206/irq.c:39:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/boards/mach-se/7206/irq.c:39:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/boards/mach-se/7206/irq.c:39:9: sparse: got unsigned int
>> arch/sh/boards/mach-se/7206/irq.c:41:16: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got int @@
arch/sh/boards/mach-se/7206/irq.c:41:16: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/boards/mach-se/7206/irq.c:41:16: sparse: got int
arch/sh/boards/mach-se/7206/irq.c:42:16: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got int @@
arch/sh/boards/mach-se/7206/irq.c:42:16: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/boards/mach-se/7206/irq.c:42:16: sparse: got int
arch/sh/boards/mach-se/7206/irq.c:56:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got int @@
arch/sh/boards/mach-se/7206/irq.c:56:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/boards/mach-se/7206/irq.c:56:9: sparse: got int
arch/sh/boards/mach-se/7206/irq.c:57:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got int @@
arch/sh/boards/mach-se/7206/irq.c:57:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/boards/mach-se/7206/irq.c:57:9: sparse: got int
arch/sh/boards/mach-se/7206/irq.c:68:15: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/boards/mach-se/7206/irq.c:68:15: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/boards/mach-se/7206/irq.c:68:15: sparse: got unsigned int
arch/sh/boards/mach-se/7206/irq.c:70:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/boards/mach-se/7206/irq.c:70:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/boards/mach-se/7206/irq.c:70:9: sparse: got unsigned int
arch/sh/boards/mach-se/7206/irq.c:73:16: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got int @@
arch/sh/boards/mach-se/7206/irq.c:73:16: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/boards/mach-se/7206/irq.c:73:16: sparse: got int
arch/sh/boards/mach-se/7206/irq.c:74:16: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got int @@
arch/sh/boards/mach-se/7206/irq.c:74:16: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/boards/mach-se/7206/irq.c:74:16: sparse: got int
arch/sh/boards/mach-se/7206/irq.c:88:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got int @@
arch/sh/boards/mach-se/7206/irq.c:88:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/boards/mach-se/7206/irq.c:88:9: sparse: got int
arch/sh/boards/mach-se/7206/irq.c:89:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got int @@
arch/sh/boards/mach-se/7206/irq.c:89:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/boards/mach-se/7206/irq.c:89:9: sparse: got int
arch/sh/boards/mach-se/7206/irq.c:100:16: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got int @@
arch/sh/boards/mach-se/7206/irq.c:100:16: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/boards/mach-se/7206/irq.c:100:16: sparse: got int
arch/sh/boards/mach-se/7206/irq.c:101:16: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got int @@
arch/sh/boards/mach-se/7206/irq.c:101:16: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/boards/mach-se/7206/irq.c:101:16: sparse: got int
arch/sh/boards/mach-se/7206/irq.c:115:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got int @@
arch/sh/boards/mach-se/7206/irq.c:115:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/boards/mach-se/7206/irq.c:115:9: sparse: got int
arch/sh/boards/mach-se/7206/irq.c:116:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got int @@
arch/sh/boards/mach-se/7206/irq.c:116:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/boards/mach-se/7206/irq.c:116:9: sparse: got int
arch/sh/boards/mach-se/7206/irq.c:143:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/boards/mach-se/7206/irq.c:143:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/boards/mach-se/7206/irq.c:143:9: sparse: got unsigned int
arch/sh/boards/mach-se/7206/irq.c:143:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/boards/mach-se/7206/irq.c:143:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/boards/mach-se/7206/irq.c:143:9: sparse: got unsigned int
arch/sh/boards/mach-se/7206/irq.c:146:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got int @@
arch/sh/boards/mach-se/7206/irq.c:146:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/boards/mach-se/7206/irq.c:146:9: sparse: got int
arch/sh/boards/mach-se/7206/irq.c:147:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got int @@
arch/sh/boards/mach-se/7206/irq.c:147:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/boards/mach-se/7206/irq.c:147:9: sparse: got int
arch/sh/boards/mach-se/7206/irq.c:150:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got int @@
arch/sh/boards/mach-se/7206/irq.c:150:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/boards/mach-se/7206/irq.c:150:9: sparse: got int
vim +26 arch/sh/kernel/cpu/sh2a/clock-sh7206.c
9d4436a6fbc8c5 Yoshinori Sato 2006-11-05 23
9d4436a6fbc8c5 Yoshinori Sato 2006-11-05 24 static void master_clk_init(struct clk *clk)
9d4436a6fbc8c5 Yoshinori Sato 2006-11-05 25 {
16b259203c513e Paul Mundt 2010-11-01 @26 clk->rate *= pll2_mult * pll1rate[(__raw_readw(FREQCR) >> 8) & 0x0007];
9d4436a6fbc8c5 Yoshinori Sato 2006-11-05 27 }
9d4436a6fbc8c5 Yoshinori Sato 2006-11-05 28
:::::: The code at line 26 was first introduced by commit
:::::: 16b259203c513ed28bd31cc9a981e0d3ad517943 sh: migrate SH_CLK_MD to mode pin API.
:::::: TO: Paul Mundt <lethal(a)linux-sh.org>
:::::: CC: Paul Mundt <lethal(a)linux-sh.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year
Re: [PATCH 05/12] bnx2x: Read VPD with pci_vpd_alloc()
by kernel test robot
Hi Heiner,
I love your patch! Perhaps something to improve:
[auto build test WARNING on scsi/for-next]
[also build test WARNING on pci/next mkp-scsi/for-next linus/master v5.14-rc6 next-20210820]
[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]
url: https://github.com/0day-ci/linux/commits/Heiner-Kallweit/PCI-VPD-Convert-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next
config: xtensa-allyesconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/11d3b0532e225fec84b84c082ff913ab3...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Heiner-Kallweit/PCI-VPD-Convert-more-users-to-the-new-VPD-API-functions/20210822-220229
git checkout 11d3b0532e225fec84b84c082ff913ab35cecd29
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=xtensa
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c: In function 'bnx2x_read_fwinfo':
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c:12200:20: error: implicit declaration of function 'pci_vpd_alloc'; did you mean 'pci_pool_alloc'? [-Werror=implicit-function-declaration]
12200 | vpd_data = pci_vpd_alloc(bp->pdev, &vpd_len);
| ^~~~~~~~~~~~~
| pci_pool_alloc
>> drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c:12200:18: warning: assignment to 'u8 *' {aka 'unsigned char *'} from 'int' makes pointer from integer without a cast [-Wint-conversion]
12200 | vpd_data = pci_vpd_alloc(bp->pdev, &vpd_len);
| ^
cc1: some warnings being treated as errors
vim +12200 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
12189
12190 static void bnx2x_read_fwinfo(struct bnx2x *bp)
12191 {
12192 int i, block_end, rodi;
12193 char str_id_reg[VENDOR_ID_LEN+1];
12194 char str_id_cap[VENDOR_ID_LEN+1];
12195 unsigned int vpd_len;
12196 u8 *vpd_data, len;
12197
12198 memset(bp->fw_ver, 0, sizeof(bp->fw_ver));
12199
12200 vpd_data = pci_vpd_alloc(bp->pdev, &vpd_len);
12201 if (IS_ERR(vpd_data))
12202 return;
12203
12204 /* VPD RO tag should be first tag after identifier string, hence
12205 * we should be able to find it in first BNX2X_VPD_LEN chars
12206 */
12207 i = pci_vpd_find_tag(vpd_data, vpd_len, PCI_VPD_LRDT_RO_DATA);
12208 if (i < 0)
12209 goto out_not_found;
12210
12211 block_end = i + PCI_VPD_LRDT_TAG_SIZE +
12212 pci_vpd_lrdt_size(&vpd_data[i]);
12213 i += PCI_VPD_LRDT_TAG_SIZE;
12214
12215 rodi = pci_vpd_find_info_keyword(vpd_data, i, block_end,
12216 PCI_VPD_RO_KEYWORD_MFR_ID);
12217 if (rodi < 0)
12218 goto out_not_found;
12219
12220 len = pci_vpd_info_field_size(&vpd_data[rodi]);
12221
12222 if (len != VENDOR_ID_LEN)
12223 goto out_not_found;
12224
12225 rodi += PCI_VPD_INFO_FLD_HDR_SIZE;
12226
12227 /* vendor specific info */
12228 snprintf(str_id_reg, VENDOR_ID_LEN + 1, "%04x", PCI_VENDOR_ID_DELL);
12229 snprintf(str_id_cap, VENDOR_ID_LEN + 1, "%04X", PCI_VENDOR_ID_DELL);
12230 if (!strncmp(str_id_reg, &vpd_data[rodi], VENDOR_ID_LEN) ||
12231 !strncmp(str_id_cap, &vpd_data[rodi], VENDOR_ID_LEN)) {
12232
12233 rodi = pci_vpd_find_info_keyword(vpd_data, i, block_end,
12234 PCI_VPD_RO_KEYWORD_VENDOR0);
12235 if (rodi >= 0) {
12236 len = pci_vpd_info_field_size(&vpd_data[rodi]);
12237
12238 rodi += PCI_VPD_INFO_FLD_HDR_SIZE;
12239
12240 if (len < 32 && (len + rodi) <= vpd_len) {
12241 memcpy(bp->fw_ver, &vpd_data[rodi], len);
12242 bp->fw_ver[len] = ' ';
12243 }
12244 }
12245 }
12246 out_not_found:
12247 kfree(vpd_data);
12248 }
12249
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year