From: kernel test robot <lkp@intel.com>
To: Michael Grzeschik <m.grzeschik@pengutronix.de>,
Eric Van Hensbergen <ericvh@kernel.org>,
Latchesar Ionkov <lucho@ionkov.net>,
Dominique Martinet <asmadeus@codewreck.org>,
Christian Schoenebeck <linux_oss@crudebyte.com>,
Jonathan Corbet <corbet@lwn.net>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
v9fs@lists.linux.dev, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org,
kernel@pengutronix.de,
Michael Grzeschik <m.grzeschik@pengutronix.de>
Subject: Re: [PATCH 1/3] usb: gadget: function: 9pfs
Date: Tue, 16 Jan 2024 19:34:06 +0800 [thread overview]
Message-ID: <202401161937.9wbYLZdb-lkp@intel.com> (raw)
In-Reply-To: <20240116-ml-topic-u9p-v1-1-ad8c306f9a4e@pengutronix.de>
Hi Michael,
kernel test robot noticed the following build warnings:
[auto build test WARNING on 052d534373b7ed33712a63d5e17b2b6cdbce84fd]
url: https://github.com/intel-lab-lkp/linux/commits/Michael-Grzeschik/usb-gadget-function-9pfs/20240116-095914
base: 052d534373b7ed33712a63d5e17b2b6cdbce84fd
patch link: https://lore.kernel.org/r/20240116-ml-topic-u9p-v1-1-ad8c306f9a4e%40pengutronix.de
patch subject: [PATCH 1/3] usb: gadget: function: 9pfs
config: arm64-allyesconfig (https://download.01.org/0day-ci/archive/20240116/202401161937.9wbYLZdb-lkp@intel.com/config)
compiler: clang version 18.0.0git (https://github.com/llvm/llvm-project 9bde5becb44ea071f5e1fa1f5d4071dc8788b18c)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240116/202401161937.9wbYLZdb-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202401161937.9wbYLZdb-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/usb/gadget/function/f_9pfs.c:197:4: warning: format specifies type 'unsigned int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat]
196 | p9_debug(P9_DEBUG_TRANS, "mux %p got %u bytes\n", usb9pfs,
| ~~
| %zu
197 | rc.capacity - rc.offset);
| ^~~~~~~~~~~~~~~~~~~~~~~
include/net/9p/9p.h:55:36: note: expanded from macro 'p9_debug'
55 | _p9_debug(level, __func__, fmt, ##__VA_ARGS__)
| ~~~ ^~~~~~~~~~~
>> drivers/usb/gadget/function/f_9pfs.c:286:6: warning: no previous prototype for function 'disable_endpoints' [-Wmissing-prototypes]
286 | void disable_endpoints(struct usb_composite_dev *cdev,
| ^
drivers/usb/gadget/function/f_9pfs.c:286:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
286 | void disable_endpoints(struct usb_composite_dev *cdev,
| ^
| static
>> drivers/usb/gadget/function/f_9pfs.c:825:12: warning: no previous prototype for function 'usb9pfs_modinit' [-Wmissing-prototypes]
825 | int __init usb9pfs_modinit(void)
| ^
drivers/usb/gadget/function/f_9pfs.c:825:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
825 | int __init usb9pfs_modinit(void)
| ^
| static
>> drivers/usb/gadget/function/f_9pfs.c:838:13: warning: no previous prototype for function 'usb9pfs_modexit' [-Wmissing-prototypes]
838 | void __exit usb9pfs_modexit(void)
| ^
drivers/usb/gadget/function/f_9pfs.c:838:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
838 | void __exit usb9pfs_modexit(void)
| ^
| static
4 warnings generated.
vim +197 drivers/usb/gadget/function/f_9pfs.c
184
185 static struct p9_req_t *usb9pfs_rx_header(struct f_usb9pfs *usb9pfs, struct usb_request *req)
186 {
187 struct p9_req_t *p9_rx_req;
188 struct p9_fcall rc;
189 int ret;
190
191 /* start by reading header */
192 rc.sdata = req->buf;
193 rc.offset = 0;
194 rc.capacity = rc.size = P9_HDRSZ;
195
196 p9_debug(P9_DEBUG_TRANS, "mux %p got %u bytes\n", usb9pfs,
> 197 rc.capacity - rc.offset);
198
199 ret = p9_parse_header(&rc, &rc.size, NULL, NULL, 0);
200 if (ret) {
201 p9_debug(P9_DEBUG_ERROR,
202 "error parsing header: %d\n", ret);
203 return NULL;
204 }
205
206 p9_debug(P9_DEBUG_TRANS,
207 "mux %p pkt: size: %d bytes tag: %d\n",
208 usb9pfs, rc.size, rc.tag);
209
210 p9_rx_req = p9_tag_lookup(usb9pfs->client, rc.tag);
211 if (!p9_rx_req || (p9_rx_req->status != REQ_STATUS_SENT)) {
212 p9_debug(P9_DEBUG_ERROR, "Unexpected packet tag %d\n", rc.tag);
213 return NULL;
214 }
215
216 if (rc.size > p9_rx_req->rc.capacity) {
217 p9_debug(P9_DEBUG_ERROR,
218 "requested packet size too big: %d for tag %d with capacity %zd\n",
219 rc.size, rc.tag, p9_rx_req->rc.capacity);
220 return NULL;
221 }
222
223 if (!p9_rx_req->rc.sdata) {
224 p9_debug(P9_DEBUG_ERROR,
225 "No recv fcall for tag %d (req %p), disconnecting!\n",
226 rc.tag, p9_rx_req);
227 p9_req_put(usb9pfs->client, p9_rx_req);
228 return NULL;
229 }
230
231 return p9_rx_req;
232 }
233
234 static void usb9pfs_rx_complete(struct usb_ep *ep, struct usb_request *req)
235 {
236 struct f_usb9pfs *usb9pfs = ep->driver_data;
237 struct usb_composite_dev *cdev = usb9pfs->function.config->cdev;
238 struct p9_req_t *p9_rx_req;
239 unsigned long flags;
240
241 switch (req->status) {
242 case 0: /* normal completion? */
243 spin_lock_irqsave(&usb9pfs->req_lock, flags);
244 p9_rx_req = usb9pfs_rx_header(usb9pfs, req);
245 if (!p9_rx_req) {
246 spin_unlock_irqrestore(&usb9pfs->req_lock, flags);
247 goto free_req;
248 }
249
250 memcpy(p9_rx_req->rc.sdata, req->buf, req->actual);
251 p9_rx_req->rc.size = req->actual;
252
253 p9_client_cb(usb9pfs->client, p9_rx_req, REQ_STATUS_RCVD);
254 p9_req_put(usb9pfs->client, p9_rx_req);
255
256 usb9pfs->p9_tx_req = NULL;
257
258 usb9pfs_transmit(usb9pfs);
259
260 spin_unlock_irqrestore(&usb9pfs->req_lock, flags);
261
262 return;
263 free_req:
264 default:
265 dev_err(&cdev->gadget->dev, "%s usb9pfs complete --> %d, %d/%d\n",
266 ep->name, req->status, req->actual, req->length);
267 usb_ep_free_request(ep == usb9pfs->in_ep ?
268 usb9pfs->out_ep : usb9pfs->in_ep,
269 req->context);
270 free_ep_req(ep, req);
271 return;
272 }
273
274 p9_client_cb(usb9pfs->client, p9_rx_req, REQ_STATUS_ERROR);
275 }
276
277 static void disable_ep(struct usb_composite_dev *cdev, struct usb_ep *ep)
278 {
279 int value;
280
281 value = usb_ep_disable(ep);
282 if (value < 0)
283 dev_info(&cdev->gadget->dev, "disable %s --> %d\n", ep->name, value);
284 }
285
> 286 void disable_endpoints(struct usb_composite_dev *cdev,
287 struct usb_ep *in, struct usb_ep *out,
288 struct usb_ep *iso_in, struct usb_ep *iso_out)
289 {
290 disable_ep(cdev, in);
291 disable_ep(cdev, out);
292 }
293
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2024-01-16 11:35 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-16 1:49 [PATCH 0/3] usb: gadget: 9pfs transport Michael Grzeschik
2024-01-16 1:49 ` [PATCH 1/3] usb: gadget: function: 9pfs Michael Grzeschik
2024-01-16 3:17 ` Alan Stern
2024-01-16 4:04 ` Dominique Martinet
2024-01-16 15:45 ` Alan Stern
2024-01-16 11:34 ` kernel test robot [this message]
2024-01-16 12:04 ` kernel test robot
2024-01-16 19:51 ` kernel test robot
2024-01-16 21:14 ` Christophe JAILLET
2024-01-17 0:02 ` kernel test robot
2024-01-16 1:49 ` [PATCH 2/3] usb: gadget: legacy: add 9pfs multi gadget Michael Grzeschik
2024-01-16 18:05 ` kernel test robot
2024-01-16 1:49 ` [PATCH 3/3] tools: usb: p9_fwd: add usb gadget packet forwarder script Michael Grzeschik
2024-01-16 11:45 ` [PATCH 0/3] usb: gadget: 9pfs transport Dominique Martinet
2024-01-16 15:51 ` Jan Lübbe
2024-01-17 10:54 ` Dominique Martinet
2024-01-26 19:47 ` Andrzej Pietrasiewicz
2024-01-26 21:57 ` Michael Grzeschik
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=202401161937.9wbYLZdb-lkp@intel.com \
--to=lkp@intel.com \
--cc=asmadeus@codewreck.org \
--cc=corbet@lwn.net \
--cc=ericvh@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=kernel@pengutronix.de \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=linux_oss@crudebyte.com \
--cc=llvm@lists.linux.dev \
--cc=lucho@ionkov.net \
--cc=m.grzeschik@pengutronix.de \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=v9fs@lists.linux.dev \
/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.