From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [RFC net-next 2/2] usb: class: cdc-wdm: WWAN framework integration
Date: Fri, 30 Apr 2021 21:23:00 +0800 [thread overview]
Message-ID: <202104302132.JYvwNXES-lkp@intel.com> (raw)
In-Reply-To: <1619777783-24116-2-git-send-email-loic.poulain@linaro.org>
[-- Attachment #1: Type: text/plain, Size: 4553 bytes --]
Hi Loic,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on net-next/master]
url: https://github.com/0day-ci/linux/commits/Loic-Poulain/usb-class-cdc-wdm-add-control-type/20210430-180831
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 4a52dd8fefb45626dace70a63c0738dbd83b7edb
config: x86_64-randconfig-s022-20210430 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
# https://github.com/0day-ci/linux/commit/e5bc3ddfc2b8b4727830f2d4a131d4731e1a0e27
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Loic-Poulain/usb-class-cdc-wdm-add-control-type/20210430-180831
git checkout e5bc3ddfc2b8b4727830f2d4a131d4731e1a0e27
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
ld: drivers/usb/class/cdc-wdm.o: in function `wdm_in_callback':
>> drivers/usb/class/cdc-wdm.c:217: undefined reference to `wwan_port_rx'
vim +217 drivers/usb/class/cdc-wdm.c
164
165 static void wdm_in_callback(struct urb *urb)
166 {
167 unsigned long flags;
168 struct wdm_device *desc = urb->context;
169 int status = urb->status;
170 int length = urb->actual_length;
171
172 spin_lock_irqsave(&desc->iuspin, flags);
173 clear_bit(WDM_RESPONDING, &desc->flags);
174
175 if (status) {
176 switch (status) {
177 case -ENOENT:
178 dev_dbg(&desc->intf->dev,
179 "nonzero urb status received: -ENOENT\n");
180 goto skip_error;
181 case -ECONNRESET:
182 dev_dbg(&desc->intf->dev,
183 "nonzero urb status received: -ECONNRESET\n");
184 goto skip_error;
185 case -ESHUTDOWN:
186 dev_dbg(&desc->intf->dev,
187 "nonzero urb status received: -ESHUTDOWN\n");
188 goto skip_error;
189 case -EPIPE:
190 dev_err(&desc->intf->dev,
191 "nonzero urb status received: -EPIPE\n");
192 break;
193 default:
194 dev_err(&desc->intf->dev,
195 "Unexpected error %d\n", status);
196 break;
197 }
198 }
199
200 /*
201 * only set a new error if there is no previous error.
202 * Errors are only cleared during read/open
203 * Avoid propagating -EPIPE (stall) to userspace since it is
204 * better handled as an empty read
205 */
206 if (desc->rerr == 0 && status != -EPIPE)
207 desc->rerr = status;
208
209 if (test_bit(WDM_WWAN_IN_USE, &desc->flags)) {
210 struct wwan_port *port = desc->wwanp;
211 struct sk_buff *skb;
212
213 /* Forward data to WWAN port */
214 skb = alloc_skb(length, GFP_ATOMIC);
215 if (skb) {
216 memcpy(skb_put(skb, length), desc->inbuf, length);
> 217 wwan_port_rx(port, skb);
218 } else {
219 dev_err(&desc->intf->dev,
220 "Unable to alloc skb, response discarded\n");
221 }
222
223 /* inbuf has been copied, it is safe to check for outstanding data */
224 schedule_work(&desc->service_outs_intr);
225 } else if (length + desc->length > desc->wMaxCommand) {
226 /* The buffer would overflow */
227 set_bit(WDM_OVERFLOW, &desc->flags);
228 } else {
229 /* we may already be in overflow */
230 if (!test_bit(WDM_OVERFLOW, &desc->flags)) {
231 memmove(desc->ubuf + desc->length, desc->inbuf, length);
232 desc->length += length;
233 desc->reslength = length;
234 }
235 }
236 skip_error:
237
238 if (desc->rerr) {
239 /*
240 * Since there was an error, userspace may decide to not read
241 * any data after poll'ing.
242 * We should respond to further attempts from the device to send
243 * data, so that we can get unstuck.
244 */
245 schedule_work(&desc->service_outs_intr);
246 } else {
247 set_bit(WDM_READ, &desc->flags);
248 wake_up(&desc->wait);
249 }
250 spin_unlock_irqrestore(&desc->iuspin, flags);
251 }
252
---
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: 35627 bytes --]
next prev parent reply other threads:[~2021-04-30 13:23 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-30 10:16 [RFC net-next 1/2] usb: class: cdc-wdm: add control type Loic Poulain
2021-04-30 10:16 ` [RFC net-next 2/2] usb: class: cdc-wdm: WWAN framework integration Loic Poulain
2021-04-30 10:39 ` Oliver Neukum
2021-05-01 10:49 ` Bjørn Mork
2021-05-03 7:47 ` Loic Poulain
2021-04-30 13:23 ` kernel test robot [this message]
2021-04-30 13:32 ` kernel test robot
2021-04-30 10:32 ` [RFC net-next 1/2] usb: class: cdc-wdm: add control type Oliver Neukum
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202104302132.JYvwNXES-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.