* [staging:staging-next 127/127] drivers/staging/wfx/bh.c:88:32: sparse: warning: restricted __le16 degrades to integer
@ 2020-04-14 9:55 ` kbuild test robot
0 siblings, 0 replies; 7+ messages in thread
From: kbuild test robot @ 2020-04-14 9:55 UTC (permalink / raw)
To: Malcolm Priestley; +Cc: devel, Greg Kroah-Hartman, kbuild-all
[-- Attachment #1: Type: text/plain, Size: 17439 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git staging-next
head: ce920326663b3df22c94ade99a8b234baa6ccaa5
commit: ce920326663b3df22c94ade99a8b234baa6ccaa5 [127/127] staging: vt6656: formulate rspinf values into tables
reproduce:
# apt-get install sparse
# sparse version:
git checkout ce920326663b3df22c94ade99a8b234baa6ccaa5
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
drivers/staging/wfx/bh.c:73:35: sparse: warning: incorrect type in argument 1 (different base types)
drivers/staging/wfx/bh.c:73:35: sparse: expected restricted __le16 const [usertype] *p
drivers/staging/wfx/bh.c:73:35: sparse: got unsigned short [usertype] *
>> drivers/staging/wfx/bh.c:88:32: sparse: warning: restricted __le16 degrades to integer
>> drivers/staging/wfx/bh.c:88:32: sparse: warning: restricted __le16 degrades to integer
drivers/staging/wfx/bh.c:93:32: sparse: warning: restricted __le16 degrades to integer
drivers/staging/wfx/bh.c:93:32: sparse: warning: cast to restricted __le16
drivers/staging/wfx/bh.c:93:32: sparse: warning: restricted __le16 degrades to integer
drivers/staging/wfx/bh.c:121:25: sparse: warning: incorrect type in argument 2 (different base types)
drivers/staging/wfx/bh.c:121:25: sparse: expected unsigned int len
drivers/staging/wfx/bh.c:121:25: sparse: got restricted __le16 [usertype] len
drivers/staging/wfx/bh.c:199:9: sparse: warning: restricted __le16 degrades to integer
drivers/staging/wfx/bh.c:221:62: sparse: warning: restricted __le16 degrades to integer
--
>> drivers/staging/wfx/hif_tx_mib.c:35:38: sparse: warning: incorrect type in initializer (different base types)
drivers/staging/wfx/hif_tx_mib.c:35:38: sparse: expected unsigned char [usertype] wakeup_period_max
drivers/staging/wfx/hif_tx_mib.c:35:38: sparse: got restricted __le16 [usertype]
--
>> drivers/staging/wfx/hif_tx.c:189:36: sparse: warning: restricted __le16 degrades to integer
>> drivers/staging/wfx/hif_tx.c:199:17: sparse: warning: incorrect type in argument 3 (different base types)
drivers/staging/wfx/hif_tx.c:199:17: sparse: expected unsigned long [usertype] len
drivers/staging/wfx/hif_tx.c:199:17: sparse: got restricted __le16 [usertype] length
--
>> drivers/staging/wfx/hif_rx.c:27:22: sparse: warning: restricted __le16 degrades to integer
>> drivers/staging/wfx/hif_rx.c:83:9: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/hif_rx.c:88:29: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/hif_rx.c:130:33: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/hif_rx.c:244:21: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/hif_rx.c:244:21: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/hif_rx.c:244:21: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/hif_rx.c:244:21: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/hif_rx.c:244:21: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/hif_rx.c:282:21: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/hif_rx.c:282:21: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/hif_rx.c:310:25: sparse: warning: restricted __le16 degrades to integer
--
>> drivers/staging/wfx/queue.c:191:24: sparse: warning: restricted __le32 degrades to integer
>> drivers/staging/wfx/queue.c:274:51: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/queue.c:274:51: sparse: expected unsigned int [usertype] bss_loss_confirm_id
drivers/staging/wfx/queue.c:274:51: sparse: got restricted __le32 [usertype] packet_id
--
>> drivers/staging/wfx/data_tx.c:383:43: sparse: warning: restricted __le16 degrades to integer
drivers/staging/wfx/data_tx.c:395:24: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/data_tx.c:395:24: sparse: expected restricted __le32 [usertype] packet_id
drivers/staging/wfx/data_tx.c:395:24: sparse: got int
>> drivers/staging/wfx/data_tx.c:497:46: sparse: warning: incorrect type in argument 2 (different base types)
drivers/staging/wfx/data_tx.c:497:46: sparse: expected unsigned int [usertype] packet_id
drivers/staging/wfx/data_tx.c:497:46: sparse: got restricted __le32 const [usertype] packet_id
>> drivers/staging/wfx/data_tx.c:518:24: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/data_tx.c:551:24: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/data_tx.c:554:20: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/data_tx.c:554:39: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/data_tx.c:559:23: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/data_tx.c:568:24: sparse: warning: restricted __le32 degrades to integer
--
>> drivers/staging/wfx/data_rx.c:52:16: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/data_rx.c:82:16: sparse: warning: restricted __le32 degrades to integer
>> drivers/staging/wfx/data_rx.c:93:55: sparse: warning: incorrect type in argument 1 (different base types)
drivers/staging/wfx/data_rx.c:93:55: sparse: expected int chan
drivers/staging/wfx/data_rx.c:93:55: sparse: got restricted __le16 const [usertype] channel_number
--
>> drivers/staging/wfx/sta.c:355:35: sparse: warning: restricted __le32 degrades to integer
>> drivers/staging/wfx/sta.c:355:35: sparse: warning: restricted __le32 degrades to integer
>> drivers/staging/wfx/sta.c:355:35: sparse: warning: restricted __le32 degrades to integer
>> drivers/staging/wfx/sta.c:355:35: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/sta.c:613:55: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/sta.c:613:55: sparse: expected restricted __le32 [usertype] operational_rate_set
drivers/staging/wfx/sta.c:613:55: sparse: got unsigned int
drivers/staging/wfx/sta.c:616:55: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/sta.c:616:55: sparse: expected restricted __le32 [usertype] operational_rate_set
drivers/staging/wfx/sta.c:616:55: sparse: got int
drivers/staging/wfx/sta.c:627:30: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/sta.c:627:30: sparse: expected restricted __le16 [usertype] aid
drivers/staging/wfx/sta.c:627:30: sparse: got unsigned short [usertype] aid
drivers/staging/wfx/sta.c:657:6: sparse: warning: symbol 'wfx_enable_beacon' was not declared. Should it be static?
--
>> drivers/staging/wfx/./traces.h:155:1: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/./traces.h:155:1: sparse: expected int msg_len
drivers/staging/wfx/./traces.h:155:1: sparse: got restricted __le16 const [usertype] len
drivers/staging/wfx/./traces.h:155:1: sparse: warning: incorrect type in argument 1 (different base types)
drivers/staging/wfx/./traces.h:155:1: sparse: expected restricted __le16 const [usertype] *p
drivers/staging/wfx/./traces.h:155:1: sparse: got unsigned short [usertype] *
drivers/staging/wfx/./traces.h:361:1: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/./traces.h:361:1: sparse: expected int pkt_id
drivers/staging/wfx/./traces.h:361:1: sparse: got restricted __le32 const [usertype] packet_id
drivers/staging/wfx/./traces.h:361:1: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/./traces.h:361:1: sparse: expected int delay_media
drivers/staging/wfx/./traces.h:361:1: sparse: got restricted __le32 const [usertype] media_delay
drivers/staging/wfx/./traces.h:361:1: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/./traces.h:361:1: sparse: expected int delay_queue
drivers/staging/wfx/./traces.h:361:1: sparse: got restricted __le32 const [usertype] tx_queue_delay
>> drivers/staging/wfx/./traces.h:361:1: sparse: warning: restricted __le32 degrades to integer
>> drivers/staging/wfx/./traces.h:155:1: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/./traces.h:155:1: sparse: expected int msg_len
drivers/staging/wfx/./traces.h:155:1: sparse: got restricted __le16 const [usertype] len
drivers/staging/wfx/./traces.h:155:1: sparse: warning: incorrect type in argument 1 (different base types)
drivers/staging/wfx/./traces.h:155:1: sparse: expected restricted __le16 const [usertype] *p
drivers/staging/wfx/./traces.h:155:1: sparse: got unsigned short [usertype] *
drivers/staging/wfx/./traces.h:361:1: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/./traces.h:361:1: sparse: expected int pkt_id
drivers/staging/wfx/./traces.h:361:1: sparse: got restricted __le32 const [usertype] packet_id
drivers/staging/wfx/./traces.h:361:1: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/./traces.h:361:1: sparse: expected int delay_media
drivers/staging/wfx/./traces.h:361:1: sparse: got restricted __le32 const [usertype] media_delay
drivers/staging/wfx/./traces.h:361:1: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/./traces.h:361:1: sparse: expected int delay_queue
drivers/staging/wfx/./traces.h:361:1: sparse: got restricted __le32 const [usertype] tx_queue_delay
>> drivers/staging/wfx/./traces.h:361:1: sparse: warning: restricted __le32 degrades to integer
>> drivers/staging/wfx/debug.c:156:56: sparse: warning: restricted __le16 degrades to integer
drivers/staging/wfx/debug.c:157:43: sparse: warning: restricted __le16 degrades to integer
drivers/staging/wfx/debug.c:237:20: sparse: warning: restricted __le16 degrades to integer
vim +88 drivers/staging/wfx/bh.c
b0998f0c040daf Jérôme Pouiller 2019-09-19 50
b0998f0c040daf Jérôme Pouiller 2019-09-19 51 static int rx_helper(struct wfx_dev *wdev, size_t read_len, int *is_cnf)
b0998f0c040daf Jérôme Pouiller 2019-09-19 52 {
b0998f0c040daf Jérôme Pouiller 2019-09-19 53 struct sk_buff *skb;
b0998f0c040daf Jérôme Pouiller 2019-09-19 54 struct hif_msg *hif;
b0998f0c040daf Jérôme Pouiller 2019-09-19 55 size_t alloc_len;
b0998f0c040daf Jérôme Pouiller 2019-09-19 56 size_t computed_len;
b0998f0c040daf Jérôme Pouiller 2019-09-19 57 int release_count;
b0998f0c040daf Jérôme Pouiller 2019-09-19 58 int piggyback = 0;
b0998f0c040daf Jérôme Pouiller 2019-09-19 59
b5be2aa3b3ac15 Jérôme Pouiller 2019-10-08 60 WARN(read_len < 4, "corrupted read");
b0998f0c040daf Jérôme Pouiller 2019-09-19 61 WARN(read_len > round_down(0xFFF, 2) * sizeof(u16),
b0998f0c040daf Jérôme Pouiller 2019-09-19 62 "%s: request exceed WFx capability", __func__);
b0998f0c040daf Jérôme Pouiller 2019-09-19 63
b0998f0c040daf Jérôme Pouiller 2019-09-19 64 // Add 2 to take into account piggyback size
b0998f0c040daf Jérôme Pouiller 2019-09-19 65 alloc_len = wdev->hwbus_ops->align_size(wdev->hwbus_priv, read_len + 2);
b0998f0c040daf Jérôme Pouiller 2019-09-19 66 skb = dev_alloc_skb(alloc_len);
b0998f0c040daf Jérôme Pouiller 2019-09-19 67 if (!skb)
b0998f0c040daf Jérôme Pouiller 2019-09-19 68 return -ENOMEM;
b0998f0c040daf Jérôme Pouiller 2019-09-19 69
b0998f0c040daf Jérôme Pouiller 2019-09-19 70 if (wfx_data_read(wdev, skb->data, alloc_len))
b0998f0c040daf Jérôme Pouiller 2019-09-19 71 goto err;
b0998f0c040daf Jérôme Pouiller 2019-09-19 72
b0998f0c040daf Jérôme Pouiller 2019-09-19 73 piggyback = le16_to_cpup((u16 *)(skb->data + alloc_len - 2));
1cc298c9152352 Jérôme Pouiller 2019-09-19 74 _trace_piggyback(piggyback, false);
b0998f0c040daf Jérôme Pouiller 2019-09-19 75
b0998f0c040daf Jérôme Pouiller 2019-09-19 76 hif = (struct hif_msg *)skb->data;
b0998f0c040daf Jérôme Pouiller 2019-09-19 77 WARN(hif->encrypted & 0x1, "unsupported encryption type");
b0998f0c040daf Jérôme Pouiller 2019-09-19 78 if (hif->encrypted == 0x2) {
846239f641db5a Jérôme Pouiller 2019-09-19 79 if (wfx_sl_decode(wdev, (void *)hif)) {
846239f641db5a Jérôme Pouiller 2019-09-19 80 dev_kfree_skb(skb);
846239f641db5a Jérôme Pouiller 2019-09-19 81 // If frame was a confirmation, expect trouble in next
846239f641db5a Jérôme Pouiller 2019-09-19 82 // exchange. However, it is harmless to fail to decode
846239f641db5a Jérôme Pouiller 2019-09-19 83 // an indication frame, so try to continue. Anyway,
846239f641db5a Jérôme Pouiller 2019-09-19 84 // piggyback is probably correct.
846239f641db5a Jérôme Pouiller 2019-09-19 85 return piggyback;
846239f641db5a Jérôme Pouiller 2019-09-19 86 }
6d68ac8b5b5c27 Jérôme Pouiller 2019-10-08 87 le16_to_cpus(&hif->len);
846239f641db5a Jérôme Pouiller 2019-09-19 @88 computed_len = round_up(hif->len - sizeof(hif->len), 16)
846239f641db5a Jérôme Pouiller 2019-09-19 89 + sizeof(struct hif_sl_msg)
846239f641db5a Jérôme Pouiller 2019-09-19 90 + sizeof(struct hif_sl_tag);
b0998f0c040daf Jérôme Pouiller 2019-09-19 91 } else {
6d68ac8b5b5c27 Jérôme Pouiller 2019-10-08 92 le16_to_cpus(&hif->len);
b0998f0c040daf Jérôme Pouiller 2019-09-19 93 computed_len = round_up(hif->len, 2);
b0998f0c040daf Jérôme Pouiller 2019-09-19 94 }
b0998f0c040daf Jérôme Pouiller 2019-09-19 95 if (computed_len != read_len) {
b0998f0c040daf Jérôme Pouiller 2019-09-19 96 dev_err(wdev->dev, "inconsistent message length: %zu != %zu\n",
b0998f0c040daf Jérôme Pouiller 2019-09-19 97 computed_len, read_len);
b0998f0c040daf Jérôme Pouiller 2019-09-19 98 print_hex_dump(KERN_INFO, "hif: ", DUMP_PREFIX_OFFSET, 16, 1,
b0998f0c040daf Jérôme Pouiller 2019-09-19 99 hif, read_len, true);
b0998f0c040daf Jérôme Pouiller 2019-09-19 100 goto err;
b0998f0c040daf Jérôme Pouiller 2019-09-19 101 }
b0998f0c040daf Jérôme Pouiller 2019-09-19 102
b0998f0c040daf Jérôme Pouiller 2019-09-19 103 if (!(hif->id & HIF_ID_IS_INDICATION)) {
b0998f0c040daf Jérôme Pouiller 2019-09-19 104 (*is_cnf)++;
b0998f0c040daf Jérôme Pouiller 2019-09-19 105 if (hif->id == HIF_CNF_ID_MULTI_TRANSMIT)
b0998f0c040daf Jérôme Pouiller 2019-09-19 106 release_count = le32_to_cpu(((struct hif_cnf_multi_transmit *)hif->body)->num_tx_confs);
b0998f0c040daf Jérôme Pouiller 2019-09-19 107 else
b0998f0c040daf Jérôme Pouiller 2019-09-19 108 release_count = 1;
b0998f0c040daf Jérôme Pouiller 2019-09-19 109 WARN(wdev->hif.tx_buffers_used < release_count, "corrupted buffer counter");
b0998f0c040daf Jérôme Pouiller 2019-09-19 110 wdev->hif.tx_buffers_used -= release_count;
b0998f0c040daf Jérôme Pouiller 2019-09-19 111 }
1cc298c9152352 Jérôme Pouiller 2019-09-19 112 _trace_hif_recv(hif, wdev->hif.tx_buffers_used);
b0998f0c040daf Jérôme Pouiller 2019-09-19 113
b0998f0c040daf Jérôme Pouiller 2019-09-19 114 if (hif->id != HIF_IND_ID_EXCEPTION && hif->id != HIF_IND_ID_ERROR) {
b0998f0c040daf Jérôme Pouiller 2019-09-19 115 if (hif->seqnum != wdev->hif.rx_seqnum)
b0998f0c040daf Jérôme Pouiller 2019-09-19 116 dev_warn(wdev->dev, "wrong message sequence: %d != %d\n",
b0998f0c040daf Jérôme Pouiller 2019-09-19 117 hif->seqnum, wdev->hif.rx_seqnum);
b0998f0c040daf Jérôme Pouiller 2019-09-19 118 wdev->hif.rx_seqnum = (hif->seqnum + 1) % (HIF_COUNTER_MAX + 1);
b0998f0c040daf Jérôme Pouiller 2019-09-19 119 }
b0998f0c040daf Jérôme Pouiller 2019-09-19 120
b0998f0c040daf Jérôme Pouiller 2019-09-19 121 skb_put(skb, hif->len);
185c106f79bf27 Jérôme Pouiller 2019-09-19 122 // wfx_handle_rx takes care on SKB livetime
185c106f79bf27 Jérôme Pouiller 2019-09-19 123 wfx_handle_rx(wdev, skb);
7f573a6fb1d848 Jérôme Pouiller 2020-04-01 124 if (!wdev->hif.tx_buffers_used)
7f573a6fb1d848 Jérôme Pouiller 2020-04-01 125 wake_up(&wdev->hif.tx_buffers_empty);
b0998f0c040daf Jérôme Pouiller 2019-09-19 126
b0998f0c040daf Jérôme Pouiller 2019-09-19 127 return piggyback;
b0998f0c040daf Jérôme Pouiller 2019-09-19 128
b0998f0c040daf Jérôme Pouiller 2019-09-19 129 err:
b0998f0c040daf Jérôme Pouiller 2019-09-19 130 if (skb)
b0998f0c040daf Jérôme Pouiller 2019-09-19 131 dev_kfree_skb(skb);
b0998f0c040daf Jérôme Pouiller 2019-09-19 132 return -EIO;
b0998f0c040daf Jérôme Pouiller 2019-09-19 133 }
b0998f0c040daf Jérôme Pouiller 2019-09-19 134
:::::: The code at line 88 was first introduced by commit
:::::: 846239f641db5af8dd952575a65808281f2d849e staging: wfx: introduce "secure link"
:::::: TO: Jérôme Pouiller <jerome.pouiller@silabs.com>
:::::: CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 73480 bytes --]
[-- Attachment #3: Type: text/plain, Size: 169 bytes --]
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
* [staging:staging-next 127/127] drivers/staging/wfx/bh.c:88:32: sparse: warning: restricted __le16 degrades to integer
@ 2020-04-14 9:55 ` kbuild test robot
0 siblings, 0 replies; 7+ messages in thread
From: kbuild test robot @ 2020-04-14 9:55 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 17837 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git staging-next
head: ce920326663b3df22c94ade99a8b234baa6ccaa5
commit: ce920326663b3df22c94ade99a8b234baa6ccaa5 [127/127] staging: vt6656: formulate rspinf values into tables
reproduce:
# apt-get install sparse
# sparse version:
git checkout ce920326663b3df22c94ade99a8b234baa6ccaa5
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
drivers/staging/wfx/bh.c:73:35: sparse: warning: incorrect type in argument 1 (different base types)
drivers/staging/wfx/bh.c:73:35: sparse: expected restricted __le16 const [usertype] *p
drivers/staging/wfx/bh.c:73:35: sparse: got unsigned short [usertype] *
>> drivers/staging/wfx/bh.c:88:32: sparse: warning: restricted __le16 degrades to integer
>> drivers/staging/wfx/bh.c:88:32: sparse: warning: restricted __le16 degrades to integer
drivers/staging/wfx/bh.c:93:32: sparse: warning: restricted __le16 degrades to integer
drivers/staging/wfx/bh.c:93:32: sparse: warning: cast to restricted __le16
drivers/staging/wfx/bh.c:93:32: sparse: warning: restricted __le16 degrades to integer
drivers/staging/wfx/bh.c:121:25: sparse: warning: incorrect type in argument 2 (different base types)
drivers/staging/wfx/bh.c:121:25: sparse: expected unsigned int len
drivers/staging/wfx/bh.c:121:25: sparse: got restricted __le16 [usertype] len
drivers/staging/wfx/bh.c:199:9: sparse: warning: restricted __le16 degrades to integer
drivers/staging/wfx/bh.c:221:62: sparse: warning: restricted __le16 degrades to integer
--
>> drivers/staging/wfx/hif_tx_mib.c:35:38: sparse: warning: incorrect type in initializer (different base types)
drivers/staging/wfx/hif_tx_mib.c:35:38: sparse: expected unsigned char [usertype] wakeup_period_max
drivers/staging/wfx/hif_tx_mib.c:35:38: sparse: got restricted __le16 [usertype]
--
>> drivers/staging/wfx/hif_tx.c:189:36: sparse: warning: restricted __le16 degrades to integer
>> drivers/staging/wfx/hif_tx.c:199:17: sparse: warning: incorrect type in argument 3 (different base types)
drivers/staging/wfx/hif_tx.c:199:17: sparse: expected unsigned long [usertype] len
drivers/staging/wfx/hif_tx.c:199:17: sparse: got restricted __le16 [usertype] length
--
>> drivers/staging/wfx/hif_rx.c:27:22: sparse: warning: restricted __le16 degrades to integer
>> drivers/staging/wfx/hif_rx.c:83:9: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/hif_rx.c:88:29: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/hif_rx.c:130:33: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/hif_rx.c:244:21: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/hif_rx.c:244:21: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/hif_rx.c:244:21: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/hif_rx.c:244:21: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/hif_rx.c:244:21: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/hif_rx.c:282:21: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/hif_rx.c:282:21: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/hif_rx.c:310:25: sparse: warning: restricted __le16 degrades to integer
--
>> drivers/staging/wfx/queue.c:191:24: sparse: warning: restricted __le32 degrades to integer
>> drivers/staging/wfx/queue.c:274:51: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/queue.c:274:51: sparse: expected unsigned int [usertype] bss_loss_confirm_id
drivers/staging/wfx/queue.c:274:51: sparse: got restricted __le32 [usertype] packet_id
--
>> drivers/staging/wfx/data_tx.c:383:43: sparse: warning: restricted __le16 degrades to integer
drivers/staging/wfx/data_tx.c:395:24: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/data_tx.c:395:24: sparse: expected restricted __le32 [usertype] packet_id
drivers/staging/wfx/data_tx.c:395:24: sparse: got int
>> drivers/staging/wfx/data_tx.c:497:46: sparse: warning: incorrect type in argument 2 (different base types)
drivers/staging/wfx/data_tx.c:497:46: sparse: expected unsigned int [usertype] packet_id
drivers/staging/wfx/data_tx.c:497:46: sparse: got restricted __le32 const [usertype] packet_id
>> drivers/staging/wfx/data_tx.c:518:24: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/data_tx.c:551:24: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/data_tx.c:554:20: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/data_tx.c:554:39: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/data_tx.c:559:23: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/data_tx.c:568:24: sparse: warning: restricted __le32 degrades to integer
--
>> drivers/staging/wfx/data_rx.c:52:16: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/data_rx.c:82:16: sparse: warning: restricted __le32 degrades to integer
>> drivers/staging/wfx/data_rx.c:93:55: sparse: warning: incorrect type in argument 1 (different base types)
drivers/staging/wfx/data_rx.c:93:55: sparse: expected int chan
drivers/staging/wfx/data_rx.c:93:55: sparse: got restricted __le16 const [usertype] channel_number
--
>> drivers/staging/wfx/sta.c:355:35: sparse: warning: restricted __le32 degrades to integer
>> drivers/staging/wfx/sta.c:355:35: sparse: warning: restricted __le32 degrades to integer
>> drivers/staging/wfx/sta.c:355:35: sparse: warning: restricted __le32 degrades to integer
>> drivers/staging/wfx/sta.c:355:35: sparse: warning: restricted __le32 degrades to integer
drivers/staging/wfx/sta.c:613:55: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/sta.c:613:55: sparse: expected restricted __le32 [usertype] operational_rate_set
drivers/staging/wfx/sta.c:613:55: sparse: got unsigned int
drivers/staging/wfx/sta.c:616:55: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/sta.c:616:55: sparse: expected restricted __le32 [usertype] operational_rate_set
drivers/staging/wfx/sta.c:616:55: sparse: got int
drivers/staging/wfx/sta.c:627:30: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/sta.c:627:30: sparse: expected restricted __le16 [usertype] aid
drivers/staging/wfx/sta.c:627:30: sparse: got unsigned short [usertype] aid
drivers/staging/wfx/sta.c:657:6: sparse: warning: symbol 'wfx_enable_beacon' was not declared. Should it be static?
--
>> drivers/staging/wfx/./traces.h:155:1: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/./traces.h:155:1: sparse: expected int msg_len
drivers/staging/wfx/./traces.h:155:1: sparse: got restricted __le16 const [usertype] len
drivers/staging/wfx/./traces.h:155:1: sparse: warning: incorrect type in argument 1 (different base types)
drivers/staging/wfx/./traces.h:155:1: sparse: expected restricted __le16 const [usertype] *p
drivers/staging/wfx/./traces.h:155:1: sparse: got unsigned short [usertype] *
drivers/staging/wfx/./traces.h:361:1: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/./traces.h:361:1: sparse: expected int pkt_id
drivers/staging/wfx/./traces.h:361:1: sparse: got restricted __le32 const [usertype] packet_id
drivers/staging/wfx/./traces.h:361:1: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/./traces.h:361:1: sparse: expected int delay_media
drivers/staging/wfx/./traces.h:361:1: sparse: got restricted __le32 const [usertype] media_delay
drivers/staging/wfx/./traces.h:361:1: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/./traces.h:361:1: sparse: expected int delay_queue
drivers/staging/wfx/./traces.h:361:1: sparse: got restricted __le32 const [usertype] tx_queue_delay
>> drivers/staging/wfx/./traces.h:361:1: sparse: warning: restricted __le32 degrades to integer
>> drivers/staging/wfx/./traces.h:155:1: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/./traces.h:155:1: sparse: expected int msg_len
drivers/staging/wfx/./traces.h:155:1: sparse: got restricted __le16 const [usertype] len
drivers/staging/wfx/./traces.h:155:1: sparse: warning: incorrect type in argument 1 (different base types)
drivers/staging/wfx/./traces.h:155:1: sparse: expected restricted __le16 const [usertype] *p
drivers/staging/wfx/./traces.h:155:1: sparse: got unsigned short [usertype] *
drivers/staging/wfx/./traces.h:361:1: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/./traces.h:361:1: sparse: expected int pkt_id
drivers/staging/wfx/./traces.h:361:1: sparse: got restricted __le32 const [usertype] packet_id
drivers/staging/wfx/./traces.h:361:1: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/./traces.h:361:1: sparse: expected int delay_media
drivers/staging/wfx/./traces.h:361:1: sparse: got restricted __le32 const [usertype] media_delay
drivers/staging/wfx/./traces.h:361:1: sparse: warning: incorrect type in assignment (different base types)
drivers/staging/wfx/./traces.h:361:1: sparse: expected int delay_queue
drivers/staging/wfx/./traces.h:361:1: sparse: got restricted __le32 const [usertype] tx_queue_delay
>> drivers/staging/wfx/./traces.h:361:1: sparse: warning: restricted __le32 degrades to integer
>> drivers/staging/wfx/debug.c:156:56: sparse: warning: restricted __le16 degrades to integer
drivers/staging/wfx/debug.c:157:43: sparse: warning: restricted __le16 degrades to integer
drivers/staging/wfx/debug.c:237:20: sparse: warning: restricted __le16 degrades to integer
vim +88 drivers/staging/wfx/bh.c
b0998f0c040daf Jérôme Pouiller 2019-09-19 50
b0998f0c040daf Jérôme Pouiller 2019-09-19 51 static int rx_helper(struct wfx_dev *wdev, size_t read_len, int *is_cnf)
b0998f0c040daf Jérôme Pouiller 2019-09-19 52 {
b0998f0c040daf Jérôme Pouiller 2019-09-19 53 struct sk_buff *skb;
b0998f0c040daf Jérôme Pouiller 2019-09-19 54 struct hif_msg *hif;
b0998f0c040daf Jérôme Pouiller 2019-09-19 55 size_t alloc_len;
b0998f0c040daf Jérôme Pouiller 2019-09-19 56 size_t computed_len;
b0998f0c040daf Jérôme Pouiller 2019-09-19 57 int release_count;
b0998f0c040daf Jérôme Pouiller 2019-09-19 58 int piggyback = 0;
b0998f0c040daf Jérôme Pouiller 2019-09-19 59
b5be2aa3b3ac15 Jérôme Pouiller 2019-10-08 60 WARN(read_len < 4, "corrupted read");
b0998f0c040daf Jérôme Pouiller 2019-09-19 61 WARN(read_len > round_down(0xFFF, 2) * sizeof(u16),
b0998f0c040daf Jérôme Pouiller 2019-09-19 62 "%s: request exceed WFx capability", __func__);
b0998f0c040daf Jérôme Pouiller 2019-09-19 63
b0998f0c040daf Jérôme Pouiller 2019-09-19 64 // Add 2 to take into account piggyback size
b0998f0c040daf Jérôme Pouiller 2019-09-19 65 alloc_len = wdev->hwbus_ops->align_size(wdev->hwbus_priv, read_len + 2);
b0998f0c040daf Jérôme Pouiller 2019-09-19 66 skb = dev_alloc_skb(alloc_len);
b0998f0c040daf Jérôme Pouiller 2019-09-19 67 if (!skb)
b0998f0c040daf Jérôme Pouiller 2019-09-19 68 return -ENOMEM;
b0998f0c040daf Jérôme Pouiller 2019-09-19 69
b0998f0c040daf Jérôme Pouiller 2019-09-19 70 if (wfx_data_read(wdev, skb->data, alloc_len))
b0998f0c040daf Jérôme Pouiller 2019-09-19 71 goto err;
b0998f0c040daf Jérôme Pouiller 2019-09-19 72
b0998f0c040daf Jérôme Pouiller 2019-09-19 73 piggyback = le16_to_cpup((u16 *)(skb->data + alloc_len - 2));
1cc298c9152352 Jérôme Pouiller 2019-09-19 74 _trace_piggyback(piggyback, false);
b0998f0c040daf Jérôme Pouiller 2019-09-19 75
b0998f0c040daf Jérôme Pouiller 2019-09-19 76 hif = (struct hif_msg *)skb->data;
b0998f0c040daf Jérôme Pouiller 2019-09-19 77 WARN(hif->encrypted & 0x1, "unsupported encryption type");
b0998f0c040daf Jérôme Pouiller 2019-09-19 78 if (hif->encrypted == 0x2) {
846239f641db5a Jérôme Pouiller 2019-09-19 79 if (wfx_sl_decode(wdev, (void *)hif)) {
846239f641db5a Jérôme Pouiller 2019-09-19 80 dev_kfree_skb(skb);
846239f641db5a Jérôme Pouiller 2019-09-19 81 // If frame was a confirmation, expect trouble in next
846239f641db5a Jérôme Pouiller 2019-09-19 82 // exchange. However, it is harmless to fail to decode
846239f641db5a Jérôme Pouiller 2019-09-19 83 // an indication frame, so try to continue. Anyway,
846239f641db5a Jérôme Pouiller 2019-09-19 84 // piggyback is probably correct.
846239f641db5a Jérôme Pouiller 2019-09-19 85 return piggyback;
846239f641db5a Jérôme Pouiller 2019-09-19 86 }
6d68ac8b5b5c27 Jérôme Pouiller 2019-10-08 87 le16_to_cpus(&hif->len);
846239f641db5a Jérôme Pouiller 2019-09-19 @88 computed_len = round_up(hif->len - sizeof(hif->len), 16)
846239f641db5a Jérôme Pouiller 2019-09-19 89 + sizeof(struct hif_sl_msg)
846239f641db5a Jérôme Pouiller 2019-09-19 90 + sizeof(struct hif_sl_tag);
b0998f0c040daf Jérôme Pouiller 2019-09-19 91 } else {
6d68ac8b5b5c27 Jérôme Pouiller 2019-10-08 92 le16_to_cpus(&hif->len);
b0998f0c040daf Jérôme Pouiller 2019-09-19 93 computed_len = round_up(hif->len, 2);
b0998f0c040daf Jérôme Pouiller 2019-09-19 94 }
b0998f0c040daf Jérôme Pouiller 2019-09-19 95 if (computed_len != read_len) {
b0998f0c040daf Jérôme Pouiller 2019-09-19 96 dev_err(wdev->dev, "inconsistent message length: %zu != %zu\n",
b0998f0c040daf Jérôme Pouiller 2019-09-19 97 computed_len, read_len);
b0998f0c040daf Jérôme Pouiller 2019-09-19 98 print_hex_dump(KERN_INFO, "hif: ", DUMP_PREFIX_OFFSET, 16, 1,
b0998f0c040daf Jérôme Pouiller 2019-09-19 99 hif, read_len, true);
b0998f0c040daf Jérôme Pouiller 2019-09-19 100 goto err;
b0998f0c040daf Jérôme Pouiller 2019-09-19 101 }
b0998f0c040daf Jérôme Pouiller 2019-09-19 102
b0998f0c040daf Jérôme Pouiller 2019-09-19 103 if (!(hif->id & HIF_ID_IS_INDICATION)) {
b0998f0c040daf Jérôme Pouiller 2019-09-19 104 (*is_cnf)++;
b0998f0c040daf Jérôme Pouiller 2019-09-19 105 if (hif->id == HIF_CNF_ID_MULTI_TRANSMIT)
b0998f0c040daf Jérôme Pouiller 2019-09-19 106 release_count = le32_to_cpu(((struct hif_cnf_multi_transmit *)hif->body)->num_tx_confs);
b0998f0c040daf Jérôme Pouiller 2019-09-19 107 else
b0998f0c040daf Jérôme Pouiller 2019-09-19 108 release_count = 1;
b0998f0c040daf Jérôme Pouiller 2019-09-19 109 WARN(wdev->hif.tx_buffers_used < release_count, "corrupted buffer counter");
b0998f0c040daf Jérôme Pouiller 2019-09-19 110 wdev->hif.tx_buffers_used -= release_count;
b0998f0c040daf Jérôme Pouiller 2019-09-19 111 }
1cc298c9152352 Jérôme Pouiller 2019-09-19 112 _trace_hif_recv(hif, wdev->hif.tx_buffers_used);
b0998f0c040daf Jérôme Pouiller 2019-09-19 113
b0998f0c040daf Jérôme Pouiller 2019-09-19 114 if (hif->id != HIF_IND_ID_EXCEPTION && hif->id != HIF_IND_ID_ERROR) {
b0998f0c040daf Jérôme Pouiller 2019-09-19 115 if (hif->seqnum != wdev->hif.rx_seqnum)
b0998f0c040daf Jérôme Pouiller 2019-09-19 116 dev_warn(wdev->dev, "wrong message sequence: %d != %d\n",
b0998f0c040daf Jérôme Pouiller 2019-09-19 117 hif->seqnum, wdev->hif.rx_seqnum);
b0998f0c040daf Jérôme Pouiller 2019-09-19 118 wdev->hif.rx_seqnum = (hif->seqnum + 1) % (HIF_COUNTER_MAX + 1);
b0998f0c040daf Jérôme Pouiller 2019-09-19 119 }
b0998f0c040daf Jérôme Pouiller 2019-09-19 120
b0998f0c040daf Jérôme Pouiller 2019-09-19 121 skb_put(skb, hif->len);
185c106f79bf27 Jérôme Pouiller 2019-09-19 122 // wfx_handle_rx takes care on SKB livetime
185c106f79bf27 Jérôme Pouiller 2019-09-19 123 wfx_handle_rx(wdev, skb);
7f573a6fb1d848 Jérôme Pouiller 2020-04-01 124 if (!wdev->hif.tx_buffers_used)
7f573a6fb1d848 Jérôme Pouiller 2020-04-01 125 wake_up(&wdev->hif.tx_buffers_empty);
b0998f0c040daf Jérôme Pouiller 2019-09-19 126
b0998f0c040daf Jérôme Pouiller 2019-09-19 127 return piggyback;
b0998f0c040daf Jérôme Pouiller 2019-09-19 128
b0998f0c040daf Jérôme Pouiller 2019-09-19 129 err:
b0998f0c040daf Jérôme Pouiller 2019-09-19 130 if (skb)
b0998f0c040daf Jérôme Pouiller 2019-09-19 131 dev_kfree_skb(skb);
b0998f0c040daf Jérôme Pouiller 2019-09-19 132 return -EIO;
b0998f0c040daf Jérôme Pouiller 2019-09-19 133 }
b0998f0c040daf Jérôme Pouiller 2019-09-19 134
:::::: The code at line 88 was first introduced by commit
:::::: 846239f641db5af8dd952575a65808281f2d849e staging: wfx: introduce "secure link"
:::::: TO: Jérôme Pouiller <jerome.pouiller@silabs.com>
:::::: CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 73480 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [staging:staging-next 127/127] drivers/staging/wfx/bh.c:88:32: sparse: warning: restricted __le16 degrades to integer
2020-04-14 9:55 ` kbuild test robot
@ 2020-04-14 10:13 ` Greg Kroah-Hartman
-1 siblings, 0 replies; 7+ messages in thread
From: Greg Kroah-Hartman @ 2020-04-14 10:13 UTC (permalink / raw)
To: kbuild test robot; +Cc: Malcolm Priestley, devel, kbuild-all
On Tue, Apr 14, 2020 at 05:55:15PM +0800, kbuild test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git staging-next
> head: ce920326663b3df22c94ade99a8b234baa6ccaa5
> commit: ce920326663b3df22c94ade99a8b234baa6ccaa5 [127/127] staging: vt6656: formulate rspinf values into tables
> reproduce:
> # apt-get install sparse
> # sparse version:
> git checkout ce920326663b3df22c94ade99a8b234baa6ccaa5
> make ARCH=x86_64 allmodconfig
> make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kbuild test robot <lkp@intel.com>
I don't think that the warning you point out here, is caused by the
patch you say. Please fix up on the 0-day side...
greg k-h
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [staging:staging-next 127/127] drivers/staging/wfx/bh.c:88:32: sparse: warning: restricted __le16 degrades to integer
@ 2020-04-14 10:13 ` Greg Kroah-Hartman
0 siblings, 0 replies; 7+ messages in thread
From: Greg Kroah-Hartman @ 2020-04-14 10:13 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 828 bytes --]
On Tue, Apr 14, 2020 at 05:55:15PM +0800, kbuild test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git staging-next
> head: ce920326663b3df22c94ade99a8b234baa6ccaa5
> commit: ce920326663b3df22c94ade99a8b234baa6ccaa5 [127/127] staging: vt6656: formulate rspinf values into tables
> reproduce:
> # apt-get install sparse
> # sparse version:
> git checkout ce920326663b3df22c94ade99a8b234baa6ccaa5
> make ARCH=x86_64 allmodconfig
> make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kbuild test robot <lkp@intel.com>
I don't think that the warning you point out here, is caused by the
patch you say. Please fix up on the 0-day side...
greg k-h
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [kbuild-all] Re: [staging:staging-next 127/127] drivers/staging/wfx/bh.c:88:32: sparse: warning: restricted __le16 degrades to integer
2020-04-14 10:13 ` Greg Kroah-Hartman
@ 2020-04-15 9:04 ` Rong Chen
-1 siblings, 0 replies; 7+ messages in thread
From: Rong Chen @ 2020-04-15 9:04 UTC (permalink / raw)
To: Greg Kroah-Hartman, kbuild test robot
Cc: Malcolm Priestley, devel, kbuild-all
On 4/14/20 6:13 PM, Greg Kroah-Hartman wrote:
> On Tue, Apr 14, 2020 at 05:55:15PM +0800, kbuild test robot wrote:
>> tree: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git staging-next
>> head: ce920326663b3df22c94ade99a8b234baa6ccaa5
>> commit: ce920326663b3df22c94ade99a8b234baa6ccaa5 [127/127] staging: vt6656: formulate rspinf values into tables
>> reproduce:
>> # apt-get install sparse
>> # sparse version:
>> git checkout ce920326663b3df22c94ade99a8b234baa6ccaa5
>> make ARCH=x86_64 allmodconfig
>> make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
>>
>> If you fix the issue, kindly add following tag as appropriate
>> Reported-by: kbuild test robot <lkp@intel.com>
> I don't think that the warning you point out here, is caused by the
> patch you say. Please fix up on the 0-day side...
>
>
Hi Greg,
We're very sorry for the false positive, we have figured out the
problem, will fix it soon.
Best Regards,
Rong Chen
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [staging:staging-next 127/127] drivers/staging/wfx/bh.c:88:32: sparse: warning: restricted __le16 degrades to integer
@ 2020-04-15 9:04 ` Rong Chen
0 siblings, 0 replies; 7+ messages in thread
From: Rong Chen @ 2020-04-15 9:04 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 1029 bytes --]
On 4/14/20 6:13 PM, Greg Kroah-Hartman wrote:
> On Tue, Apr 14, 2020 at 05:55:15PM +0800, kbuild test robot wrote:
>> tree: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git staging-next
>> head: ce920326663b3df22c94ade99a8b234baa6ccaa5
>> commit: ce920326663b3df22c94ade99a8b234baa6ccaa5 [127/127] staging: vt6656: formulate rspinf values into tables
>> reproduce:
>> # apt-get install sparse
>> # sparse version:
>> git checkout ce920326663b3df22c94ade99a8b234baa6ccaa5
>> make ARCH=x86_64 allmodconfig
>> make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
>>
>> If you fix the issue, kindly add following tag as appropriate
>> Reported-by: kbuild test robot <lkp@intel.com>
> I don't think that the warning you point out here, is caused by the
> patch you say. Please fix up on the 0-day side...
>
>
Hi Greg,
We're very sorry for the false positive, we have figured out the
problem, will fix it soon.
Best Regards,
Rong Chen
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [staging:staging-next 127/127] drivers/staging/wfx/bh.c:88:32: sparse: warning: restricted __le16 degrades to integer
2020-04-14 10:13 ` Greg Kroah-Hartman
(?)
(?)
@ 2020-04-15 9:40 ` Jérôme Pouiller
-1 siblings, 0 replies; 7+ messages in thread
From: Jérôme Pouiller @ 2020-04-15 9:40 UTC (permalink / raw)
To: driverdev-devel; +Cc: Malcolm Priestley, Greg Kroah-Hartman, devel, kbuild-all
On Tuesday 14 April 2020 12:13:15 CEST Greg Kroah-Hartman wrote:
> On Tue, Apr 14, 2020 at 05:55:15PM +0800, kbuild test robot wrote:
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git staging-next
> > head: ce920326663b3df22c94ade99a8b234baa6ccaa5
> > commit: ce920326663b3df22c94ade99a8b234baa6ccaa5 [127/127] staging: vt6656: formulate rspinf values into tables
> > reproduce:
> > # apt-get install sparse
> > # sparse version:
> > git checkout ce920326663b3df22c94ade99a8b234baa6ccaa5
> > make ARCH=x86_64 allmodconfig
> > make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
> >
> > If you fix the issue, kindly add following tag as appropriate
> > Reported-by: kbuild test robot <lkp@intel.com>
>
> I don't think that the warning you point out here, is caused by the
> patch you say. Please fix up on the 0-day side...
The warning is probably caused by:
staging: wfx: fix endianness of hif API
The chip expects little endian in all structs it sends/receives. This
patch fixes the hif API to reflect this fact. Sparse should now report
meaningful errors.
And indeed, Sparse now reports ton of errors :). I am currently working
on these warnings. I hope to provide a patch soon.
--
Jérôme Pouiller
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2020-04-15 9:41 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-14 9:55 [staging:staging-next 127/127] drivers/staging/wfx/bh.c:88:32: sparse: warning: restricted __le16 degrades to integer kbuild test robot
2020-04-14 9:55 ` kbuild test robot
2020-04-14 10:13 ` Greg Kroah-Hartman
2020-04-14 10:13 ` Greg Kroah-Hartman
2020-04-15 9:04 ` [kbuild-all] " Rong Chen
2020-04-15 9:04 ` Rong Chen
2020-04-15 9:40 ` Jérôme Pouiller
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.