mirror of https://gitee.com/openkylin/linux.git
usb: gadget: ffs: Make sparse happier
Silences the following warnings: drivers/usb/gadget/function/f_fs.c:1253:37: warning: incorrect type in argument 1 (different address spaces) drivers/usb/gadget/function/f_fs.c:1253:37: expected void [noderef] <asn:1>*to drivers/usb/gadget/function/f_fs.c:1253:37: got void *<noident> drivers/usb/gadget/function/f_fs.c:2322:23: warning: cast to restricted __le32 drivers/usb/gadget/function/f_fs.c:2876:38: warning: cast to restricted __le32 drivers/usb/gadget/function/f_fs.c:272:12: warning: context imbalance in '__ffs_ep0_queue_wait' - unexpected unlock drivers/usb/gadget/function/f_fs.c:450:17: warning: context imbalance in 'ffs_ep0_write' - different lock contexts for basic block drivers/usb/gadget/function/f_fs.c:490:24: warning: context imbalance in '__ffs_ep0_read_events' - unexpected unlock drivers/usb/gadget/function/f_fs.c:496:16: warning: context imbalance in 'ffs_ep0_read' - different lock contexts for basic block Also, add an "unlocks spinlock" comment for consistency with existing ones. No behaviour change is intended. Signed-off-by: Vincent Pelletier <plr.vincent@gmail.com> Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
This commit is contained in:
parent
a622ee9972
commit
c40619bb1b
|
@ -266,6 +266,7 @@ static void ffs_ep0_complete(struct usb_ep *ep, struct usb_request *req)
|
|||
}
|
||||
|
||||
static int __ffs_ep0_queue_wait(struct ffs_data *ffs, char *data, size_t len)
|
||||
__releases(&ffs->ev.waitq.lock)
|
||||
{
|
||||
struct usb_request *req = ffs->ep0req;
|
||||
int ret;
|
||||
|
@ -458,6 +459,7 @@ static ssize_t ffs_ep0_write(struct file *file, const char __user *buf,
|
|||
/* Called with ffs->ev.waitq.lock and ffs->mutex held, both released on exit. */
|
||||
static ssize_t __ffs_ep0_read_events(struct ffs_data *ffs, char __user *buf,
|
||||
size_t n)
|
||||
__releases(&ffs->ev.waitq.lock)
|
||||
{
|
||||
/*
|
||||
* n cannot be bigger than ffs->ev.count, which cannot be bigger than
|
||||
|
@ -543,6 +545,7 @@ static ssize_t ffs_ep0_read(struct file *file, char __user *buf,
|
|||
break;
|
||||
}
|
||||
|
||||
/* unlocks spinlock */
|
||||
return __ffs_ep0_read_events(ffs, buf,
|
||||
min(n, (size_t)ffs->ev.count));
|
||||
|
||||
|
@ -1246,7 +1249,7 @@ static long ffs_epfile_ioctl(struct file *file, unsigned code,
|
|||
desc = epfile->ep->descs[desc_idx];
|
||||
|
||||
spin_unlock_irq(&epfile->ffs->eps_lock);
|
||||
ret = copy_to_user((void *)value, desc, desc->bLength);
|
||||
ret = copy_to_user((void __user *)value, desc, desc->bLength);
|
||||
if (ret)
|
||||
ret = -EFAULT;
|
||||
return ret;
|
||||
|
@ -2324,7 +2327,7 @@ static int __ffs_data_do_os_desc(enum ffs_os_desc_type type,
|
|||
length, pnl, type);
|
||||
return -EINVAL;
|
||||
}
|
||||
pdl = le32_to_cpu(*(u32 *)((u8 *)data + 10 + pnl));
|
||||
pdl = le32_to_cpu(*(__le32 *)((u8 *)data + 10 + pnl));
|
||||
if (length != 14 + pnl + pdl) {
|
||||
pr_vdebug("invalid os descriptor length: %d pnl:%d pdl:%d (descriptor %d)\n",
|
||||
length, pnl, pdl, type);
|
||||
|
@ -2878,7 +2881,7 @@ static int __ffs_func_bind_do_os_desc(enum ffs_os_desc_type type,
|
|||
|
||||
ext_prop->type = le32_to_cpu(desc->dwPropertyDataType);
|
||||
ext_prop->name_len = le16_to_cpu(desc->wPropertyNameLength);
|
||||
ext_prop->data_len = le32_to_cpu(*(u32 *)
|
||||
ext_prop->data_len = le32_to_cpu(*(__le32 *)
|
||||
usb_ext_prop_data_len_ptr(data, ext_prop->name_len));
|
||||
length = ext_prop->name_len + ext_prop->data_len + 14;
|
||||
|
||||
|
|
Loading…
Reference in New Issue