drivers/usb/gadget/udc/mv_udc_core.c:833:34: sparse: sparse: incorrect type in argument 1 (different address spaces)

From: kernel test robot
Date: Wed Jul 15 2020 - 07:21:02 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: e9919e11e219eaa5e8041b7b1a196839143e9125
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 4 weeks ago
config: mips-randconfig-s032-20200715 (attached as .config)
compiler: mipsel-linux-gcc (GCC) 9.3.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.2-49-g707c5017-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=mips

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>


sparse warnings: (new ones prefixed by >>)

drivers/usb/gadget/udc/mv_udc_core.c:67:33: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] wMaxPacketSize @@ got int @@
drivers/usb/gadget/udc/mv_udc_core.c:67:33: sparse: expected restricted __le16 [usertype] wMaxPacketSize
drivers/usb/gadget/udc/mv_udc_core.c:67:33: sparse: got int
drivers/usb/gadget/udc/mv_udc_core.c:367:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr0 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:367:24: sparse: expected unsigned int [usertype] buff_ptr0
drivers/usb/gadget/udc/mv_udc_core.c:367:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:369:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr1 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:369:24: sparse: expected unsigned int [usertype] buff_ptr1
drivers/usb/gadget/udc/mv_udc_core.c:369:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:370:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr2 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:370:24: sparse: expected unsigned int [usertype] buff_ptr2
drivers/usb/gadget/udc/mv_udc_core.c:370:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:371:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr3 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:371:24: sparse: expected unsigned int [usertype] buff_ptr3
drivers/usb/gadget/udc/mv_udc_core.c:371:24: sparse: got restricted __le32 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:372:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr4 @@ got restricted __le32 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:372:24: sparse: expected unsigned int [usertype] buff_ptr4
drivers/usb/gadget/udc/mv_udc_core.c:372:24: sparse: got restricted __le32 [usertype]
>> drivers/usb/gadget/udc/mv_udc_core.c:833:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got unsigned int * @@
>> drivers/usb/gadget/udc/mv_udc_core.c:833:34: sparse: expected void const volatile [noderef] __iomem *mem
drivers/usb/gadget/udc/mv_udc_core.c:833:34: sparse: got unsigned int *
>> drivers/usb/gadget/udc/mv_udc_core.c:834:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *mem @@ got unsigned int * @@
>> drivers/usb/gadget/udc/mv_udc_core.c:834:42: sparse: expected void volatile [noderef] __iomem *mem
drivers/usb/gadget/udc/mv_udc_core.c:834:42: sparse: got unsigned int *
drivers/usb/gadget/udc/mv_udc_core.c:1456:41: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] @@ got restricted __le16 [usertype] @@
drivers/usb/gadget/udc/mv_udc_core.c:1456:41: sparse: expected unsigned short [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:1456:41: sparse: got restricted __le16 [usertype]
drivers/usb/gadget/udc/mv_udc_core.c:1516:26: sparse: sparse: cast from restricted __le16
drivers/usb/gadget/udc/mv_udc_core.c:1546:31: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1547:35: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1568:30: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1579:39: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1580:43: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1616:34: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1625:52: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1611:30: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1611:30: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1634:39: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/gadget/udc/mv_udc_core.c:1635:43: sparse: sparse: restricted __le16 degrades to integer
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
arch/mips/include/asm/io.h:354:1: sparse: sparse: too many warnings
--
>> drivers/watchdog/sb_wdog.c:269:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got char *wd_cfg_reg @@
>> drivers/watchdog/sb_wdog.c:269:27: sparse: expected void const volatile [noderef] __iomem *mem
drivers/watchdog/sb_wdog.c:269:27: sparse: got char *wd_cfg_reg
>> drivers/watchdog/sb_wdog.c:270:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got char * @@
drivers/watchdog/sb_wdog.c:270:42: sparse: expected void const volatile [noderef] __iomem *mem
drivers/watchdog/sb_wdog.c:270:42: sparse: got char *
drivers/watchdog/sb_wdog.c:275:24: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/watchdog/sb_wdog.c:275:24: sparse: char *
>> drivers/watchdog/sb_wdog.c:275:24: sparse: char [noderef] __iomem *
>> drivers/watchdog/sb_wdog.c:307:34: sparse: sparse: cast removes address space '__iomem' of expression
drivers/watchdog/sb_wdog.c:321:22: sparse: sparse: cast removes address space '__iomem' of expression
drivers/watchdog/sb_wdog.c:331:22: sparse: sparse: cast removes address space '__iomem' of expression

vim +833 drivers/usb/gadget/udc/mv_udc_core.c

c2bbd16b03d036 drivers/usb/gadget/mv_udc_core.c Neil Zhang 2011-12-20 770
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 771 /* dequeues (cancels, unlinks) an I/O request from an endpoint */
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 772 static int mv_ep_dequeue(struct usb_ep *_ep, struct usb_request *_req)
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 773 {
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 774 struct mv_ep *ep = container_of(_ep, struct mv_ep, ep);
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 775 struct mv_req *req;
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 776 struct mv_udc *udc = ep->udc;
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 777 unsigned long flags;
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 778 int stopped, ret = 0;
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 779 u32 epctrlx;
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 780
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 781 if (!_ep || !_req)
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 782 return -EINVAL;
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 783
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 784 spin_lock_irqsave(&ep->udc->lock, flags);
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 785 stopped = ep->stopped;
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 786
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 787 /* Stop the ep before we deal with the queue */
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 788 ep->stopped = 1;
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 789 epctrlx = readl(&udc->op_regs->epctrlx[ep->ep_num]);
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 790 if (ep_dir(ep) == EP_DIR_IN)
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 791 epctrlx &= ~EPCTRL_TX_ENABLE;
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 792 else
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 793 epctrlx &= ~EPCTRL_RX_ENABLE;
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 794 writel(epctrlx, &udc->op_regs->epctrlx[ep->ep_num]);
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 795
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 796 /* make sure it's actually queued on this endpoint */
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 797 list_for_each_entry(req, &ep->queue, queue) {
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 798 if (&req->req == _req)
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 799 break;
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 800 }
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 801 if (&req->req != _req) {
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 802 ret = -EINVAL;
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 803 goto out;
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 804 }
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 805
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 806 /* The request is in progress, or completed but not dequeued */
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 807 if (ep->queue.next == &req->queue) {
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 808 _req->status = -ECONNRESET;
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 809 mv_ep_fifo_flush(_ep); /* flush current transfer */
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 810
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 811 /* The request isn't the last request in this ep queue */
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 812 if (req->queue.next != &ep->queue) {
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 813 struct mv_req *next_req;
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 814
c2bbd16b03d036 drivers/usb/gadget/mv_udc_core.c Neil Zhang 2011-12-20 815 next_req = list_entry(req->queue.next,
c2bbd16b03d036 drivers/usb/gadget/mv_udc_core.c Neil Zhang 2011-12-20 816 struct mv_req, queue);
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 817
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 818 /* Point the QH to the first TD of next request */
c2bbd16b03d036 drivers/usb/gadget/mv_udc_core.c Neil Zhang 2011-12-20 819 mv_prime_ep(ep, next_req);
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 820 } else {
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 821 struct mv_dqh *qh;
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 822
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 823 qh = ep->dqh;
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 824 qh->next_dtd_ptr = 1;
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 825 qh->size_ioc_int_sts = 0;
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 826 }
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 827
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 828 /* The request hasn't been processed, patch up the TD chain */
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 829 } else {
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 830 struct mv_req *prev_req;
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 831
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 832 prev_req = list_entry(req->queue.prev, struct mv_req, queue);
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 @833 writel(readl(&req->tail->dtd_next),
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 @834 &prev_req->tail->dtd_next);
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 835
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 836 }
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 837
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 838 done(ep, req, -ECONNRESET);
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 839
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 840 /* Enable EP */
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 841 out:
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 842 epctrlx = readl(&udc->op_regs->epctrlx[ep->ep_num]);
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 843 if (ep_dir(ep) == EP_DIR_IN)
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 844 epctrlx |= EPCTRL_TX_ENABLE;
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 845 else
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 846 epctrlx |= EPCTRL_RX_ENABLE;
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 847 writel(epctrlx, &udc->op_regs->epctrlx[ep->ep_num]);
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 848 ep->stopped = stopped;
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 849
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 850 spin_unlock_irqrestore(&ep->udc->lock, flags);
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 851 return ret;
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 852 }
e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 853

:::::: The code at line 833 was first introduced by commit
:::::: e7cddda48c7f892a3fb5c10a6f41a4395f46c0c2 USB: pxa: Add USB client support for Marvell PXA9xx/PXA168 chips

:::::: TO: cxie4 <cxie4@xxxxxxxxxxx>
:::::: CC: Greg Kroah-Hartman <gregkh@xxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip