Re: [PATCH v5 2/2] usb/gadget: Add driver for Aspeed SoC virtual hub

2018-03-17 Thread Fengguang Wu

On Sat, Mar 17, 2018 at 11:07:27AM +1100, Benjamin Herrenschmidt wrote:

On Sat, 2018-03-17 at 04:29 +0800, kbuild test robot wrote:

Hi Benjamin,

I love your patch! Perhaps something to improve:

[auto build test WARNING on v4.16-rc4]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:
https://github.com/0day-ci/linux/commits/Benjamin-Herrenschmidt/usb-gadget-Add-an-EP-dispose-callback-for-EP-lifetime-tracking/20180317-004216
config: m32r-allyesconfig (attached as .config)
compiler: m32r-linux-gcc (GCC) 7.2.0


Didn't we drop testing on mr32 ? These are bogus warnings due to bugs
in the arch itself...


Yeah I just send patch to remove testing on m32r etc. archs according
to Arnd's suggestions.

Thanks,
Fengguang
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3 2/2] usb/gadget: Add driver for Aspeed SoC virtual hub

2018-01-25 Thread Fengguang Wu

On Fri, Jan 26, 2018 at 10:58:56AM +1100, Benjamin Herrenschmidt wrote:

On Wed, 2018-01-24 at 11:30 +0800, kbuild test robot wrote:

Hi Benjamin,

I love your patch! Perhaps something to improve:

[auto build test WARNING on balbi-usb/next]
[also build test WARNING on v4.15-rc9 next-20180119]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]


This seems to be bogosity in m32r more than problems with the driver...


url:
https://github.com/0day-ci/linux/commits/Benjamin-Herrenschmidt/usb-gadget-Add-an-EP-dispose-callback-for-EP-lifetime-tracking/20180124-065635
base:   https://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git next
config: m32r-allyesconfig (attached as .config)
compiler: m32r-linux-gcc (GCC) 7.2.0
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=m32r

All warnings (new ones prefixed by >>):

   In file included from arch/m32r/include/uapi/asm/byteorder.h:8:0,
from arch/m32r/include/asm/bitops.h:22,
from include/linux/bitops.h:38,
from include/linux/kernel.h:11,
from drivers/usb/gadget/udc/aspeed-vhub/core.c:14:
   include/linux/byteorder/big_endian.h:8:2: warning: #warning inconsistent 
configuration, needs CONFIG_CPU_BIG_ENDIAN [-Wcpp]
#warning inconsistent configuration, needs CONFIG_CPU_BIG_ENDIAN
 ^~~


Not sure what that one is, looks like some toolchain or arch problem...


   In file included from include/linux/printk.h:329:0,
from include/linux/kernel.h:14,
from drivers/usb/gadget/udc/aspeed-vhub/core.c:14:
   drivers/usb/gadget/udc/aspeed-vhub/core.c: In function 'ast_vhub_irq':
> > drivers/usb/gadget/udc/aspeed-vhub/core.c:127:16: warning: format '%x' 
expects argument of type 'unsigned int', but argument 5 has type 'long unsigned int' 
[-Wformat=]

 UDCVDBG(vhub, "irq status=%08x, ep_acks=%08x ep_nacks=%08x\n",


This is rather bogus too. m32r's readl() is returning unsigned long, it
should be unsigned int or u32.


Unfortunately m32r is marked orphaned in MAINTAINERS. We could stop
testing it if no one will step up to fix its issues.

Thanks,
Fengguang
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 13/13] usb: host: xhci-plat: Use of_device_get_match_data() helper

2017-10-08 Thread Fengguang Wu

kbuild just spit out the following warning for this patch:

drivers/usb/host/max3421-hcd.c:1707:2-8: preceding lock on line 1702

Error ids grouped by kconfigs:

recent_errors
└── i386-allmodconfig
   └── drivers-usb-host-max3421-hcd.c:preceding-lock-on-line



I don't really know what it means, any ideas?


The BUILD REGRESSION emails are a per-branch summary reports that list
all the known regressions still alive in current branch HEAD. They are
not necessarily caused by the HEAD commit. I'll make it clear by adding
some comments to that report email.

Sorry for the confusions!

Regards,
Fengguang
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: 4879b7ae05 ("Merge tag 'dmaengine-4.12-rc1' of .."): WARNING: kernel stack regs at bd92bc2e in 01-cpu-hotplug:3811 has bad 'bp' value 000001be

2017-10-03 Thread Fengguang Wu

Hi Josh,

On Mon, Oct 02, 2017 at 04:31:09PM -0500, Josh Poimboeuf wrote:

On Mon, Oct 02, 2017 at 04:26:54PM -0500, Josh Poimboeuf wrote:

Fengguang, assuming it's reliably recreatable, any chance you could
recreate with the following patch?


Sorry, here's a version which actually compiles.

diff --git a/arch/x86/kernel/unwind_frame.c b/arch/x86/kernel/unwind_frame.c
index d145a0b1f529..00234fa5a33a 100644
--- a/arch/x86/kernel/unwind_frame.c
+++ b/arch/x86/kernel/unwind_frame.c
@@ -44,7 +44,8 @@ static void unwind_dump(struct unwind_state *state)
state->stack_info.type, state->stack_info.next_sp,
state->stack_mask, state->graph_idx);

-   for (sp = state->orig_sp; sp; sp = PTR_ALIGN(stack_info.next_sp, 
sizeof(long))) {
+   for (sp = PTR_ALIGN(state->orig_sp, sizeof(long)); sp;
+sp = PTR_ALIGN(stack_info.next_sp, sizeof(long))) {
if (get_stack_info(sp, state->task, _info, _mask))
break;


With the patch applied on v4.14-rc3, I get these WARNINGs in 300+
kernel boots:

[  185.430011] WARNING: kernel stack regs at bb68dcc2 in 01-cpu-hotplug:22473 
has bad 'bp' value 01bc
[   86.190009] WARNING: kernel stack regs at be3c9c9a in 01-cpu-hotplug:4941 
has bad 'bp' value 01be
[  144.450014] WARNING: kernel stack regs at be3d5c9a in 01-cpu-hotplug:14750 
has bad 'bp' value 01be
[  180.074990] WARNING: kernel stack regs at b0209c4e in 01-cpu-hotplug:22741 
has bad 'bp' value 01b0
[  138.140012] WARNING: kernel stack regs at be3c9c9a in 01-cpu-hotplug:12181 
has bad 'bp' value 01be
[  120.658716] WARNING: kernel stack regs at be3b9c4e in 01-cpu-hotplug:5548 
has bad 'bp' value 01be
[   88.390022] WARNING: kernel stack regs at be3adcc2 in 01-cpu-hotplug:3874 
has bad 'bp' value 01be
[  174.380015] WARNING: kernel stack regs at be3e1f68 in 01-cpu-hotplug:22049 
has bad 'bp' value   (null)
[   98.150011] WARNING: kernel stack regs at be38dcc2 in 01-cpu-hotplug:2549 
has bad 'bp' value 01be
[  114.450013] WARNING: kernel stack regs at be36bc9a in 01-cpu-hotplug:7747 
has bad 'bp' value 01be
[  151.020011] WARNING: kernel stack regs at b0203cc2 in 01-cpu-hotplug:14901 
has bad 'bp' value 01b8
[  106.770011] WARNING: kernel stack regs at be3c3c9a in 01-cpu-hotplug:5970 
has bad 'bp' value 01be
[  114.290012] WARNING: kernel stack regs at be3d7c9a in 01-cpu-hotplug:6287 
has bad 'bp' value 01be
[  118.818622] WARNING: kernel stack regs at be3cfc4e in 01-cpu-hotplug:5183 
has bad 'bp' value 01be
[  142.540011] WARNING: kernel stack regs at be3b9cc2 in 01-cpu-hotplug:9450 
has bad 'bp' value 01be
[   96.020013] WARNING: kernel stack regs at be3d9f6c in 01-cpu-hotplug:8433 
has bad 'bp' value   (null)
[  149.300010] WARNING: kernel stack regs at be3b1c9a in 01-cpu-hotplug:14589 
has bad 'bp' value 01be
[  140.580013] WARNING: kernel stack regs at be3bfc9a in 01-cpu-hotplug:15779 
has bad 'bp' value 01be
[   93.656698] WARNING: kernel stack regs at c0b9fc9a in 01-cpu-hotplug:6618 
has bad 'bp' value 01c0
[  112.863654] WARNING: kernel stack regs at c05d7c9a in procd:172 has bad 'bp' 
value 01c0
[   77.683057] WARNING: kernel stack regs at c0bcbc9a in 01-cpu-hotplug:5798 
has bad 'bp' value 01c0
[   46.071067] WARNING: kernel stack regs at c51e5d0a in rhashtable_thra:126 
has bad 'bp' value 03c6
[  149.471498] WARNING: kernel stack regs at c5d6bf68 in udevd:285 has bad 'bp' 
value   (null)
[  178.575899] WARNING: kernel stack regs at c21e5d02 in lock_torture_wr:46 has 
bad 'bp' value 03bc
[  129.175338] WARNING: kernel stack regs at cdde5d0a in swapper/0:0 has bad 
'bp' value 03c6
[   80.686106] WARNING: kernel stack regs at c7e29cca in ifup:339 has bad 'bp' 
value 01c8
[0.437556] WARNING: kernel stack regs at c6e15c4e in swapper/0:1 has bad 
'bp' value 01c6
[   12.354954] WARNING: kernel stack regs at c6ff7ca2 in rhashtable_thra:126 
has bad 'bp' value 03be
[  122.627926] WARNING: kernel stack regs at c6ff7d0a in swapper/1:0 has bad 
'bp' value 03c6

Here is one of them. The full dmesg is attached.

Please press Enter to activate this console.
[   89.505747] sock: process `trinity-main' is using obsolete setsockopt 
SO_BSDCOMPAT
procd: Instance odhcpd::instance1 s in a crash loop 6 crashes, 0 seconds since 
last crash
procd: Instance uhttpd::instance1 s in a crash loop 6 crashes, 0 seconds since 
last crash
procd: Instance dnsmasq::instance1 s in a crash loop 6 crashes, 0 seconds since 
last crash
[  114.450013] WARNING: kernel stack regs at be36bc9a in 01-cpu-hotplug:7747 
has bad 'bp' value 01be
[  114.450017] unwind stack type:0 next_sp:  (null) mask:0x2 graph_idx:0
[  114.450020] be36bc9c: 81be36bc (0x81be36bc)
[  114.450023] be36bca0: ebb56272 (0xebb56272)
[  114.450029] be36bca4: b5be36bc (drm_setup_crtcs+0x10ac/0x12e0)
[  114.450031] be36bca8: 4000bcb4 (0x4000bcb4)
[  114.450033] be36bcac: 00be02b2 

Re: 4879b7ae05 ("Merge tag 'dmaengine-4.12-rc1' of .."): WARNING: kernel stack regs at bd92bc2e in 01-cpu-hotplug:3811 has bad 'bp' value 000001be

2017-10-02 Thread Fengguang Wu

Hi Josh,

On Mon, Oct 02, 2017 at 04:31:09PM -0500, Josh Poimboeuf wrote:

On Mon, Oct 02, 2017 at 04:26:54PM -0500, Josh Poimboeuf wrote:

Fengguang, assuming it's reliably recreatable, any chance you could
recreate with the following patch?


Sure, I'll try your patch on v4.14-rc3 since it looks the most
reproducible kernel. For the bisected 4879b7ae05, the warning only
shows up once out of 909 boots according to the below stats. So I'm
not sure whether it's the _first_ bad commit. To double confirm, I
just queued 5000 more boot tests for each of its parent commits.


ecc721a72c  Merge tag 'pwm/for-4.12-rc1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
be13ec668d  Merge branch 'topic/pl330' into for-linus
4879b7ae05  Merge tag 'dmaengine-4.12-rc1' of 
git://git.infradead.org/users/vkoul/slave-dma
9e66317d3c  Linux 4.14-rc3
1418b85217  Add linux-next specific files for 20170929
+---++++---+---+
|   | ecc721a72c | 
be13ec668d | 4879b7ae05 | v4.14-rc3 | next-20170929 |
+---++++---+---+
| boot_successes| 1009   | 1009 
  | 909| 5 | 510   |
| boot_failures | 0  | 0
  | 1  | 4 | 153   |
| WARNING:kernel_stack  | 0  | 0
  | 1  | 3 | 111   |
| BUG:unable_to_handle_kernel   | 0  | 0
  | 0  | 3 | 48|
| Oops:#[##]| 0  | 0
  | 0  | 3 | 48|
| EIP:update_stack_state| 0  | 0
  | 0  | 3 | 48|
| Kernel_panic-not_syncing:Fatal_exception_in_interrupt | 0  | 0
  | 0  | 3 | 48|
| invoked_oom-killer:gfp_mask=0x| 0  | 0
  | 0  | 1 | 16|
| Mem-Info  | 0  | 0
  | 0  | 1 | 16|
| EIP:clear_user| 0  | 0
  | 0  | 0 | 2 |
| EIP:copy_page_to_iter | 0  | 0
  | 0  | 0 | 1 |
+---++++---+---+



Sorry, here's a version which actually compiles.


OK.

Thanks,
Fengguang


diff --git a/arch/x86/kernel/unwind_frame.c b/arch/x86/kernel/unwind_frame.c
index d145a0b1f529..00234fa5a33a 100644
--- a/arch/x86/kernel/unwind_frame.c
+++ b/arch/x86/kernel/unwind_frame.c
@@ -44,7 +44,8 @@ static void unwind_dump(struct unwind_state *state)
state->stack_info.type, state->stack_info.next_sp,
state->stack_mask, state->graph_idx);

-   for (sp = state->orig_sp; sp; sp = PTR_ALIGN(stack_info.next_sp, 
sizeof(long))) {
+   for (sp = PTR_ALIGN(state->orig_sp, sizeof(long)); sp;
+sp = PTR_ALIGN(stack_info.next_sp, sizeof(long))) {
if (get_stack_info(sp, state->task, _info, _mask))
break;


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [LKP] [usb] bea5b158ff WARNING: CPU: 0 PID: 25 at drivers/usb/core/urb.c:338 usb_submit_urb

2017-02-27 Thread Fengguang Wu

The dummy_udc WARN is gone with this patch for 100+ times of boot tests.

Tested-by: Xiaolong Ye 

Thanks,
Xiaolong



Thanks, Xiaolong. I will submit a patch for it.


Thank you Peter! We've been noised by this warning for quite some time.

Fengguang
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[usb] bea5b158ff WARNING: CPU: 0 PID: 25 at drivers/usb/core/urb.c:338 usb_submit_urb

2017-02-26 Thread Fengguang Wu
[Sorry, resend to correct Felipe's email address]

Greetings,

This debug patch possibly discloses some USB/I2C bugs. Since the USB
warning shows up earlier in dmesg, it might also be the root cause of
the I2C bug. The attached reproduce-* script may help debug them.

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master

commit bea5b158ff0da9c7246ff391f754f5f38e34577a
Author: Rob Herring 
AuthorDate: Thu Aug 11 10:20:58 2016 -0500
Commit: Greg Kroah-Hartman 
CommitDate: Wed Aug 31 15:13:55 2016 +0200

  driver core: add test of driver remove calls during probe
  
  In recent discussions on ksummit-discuss[1], it was suggested to do a
  sequence of probe, remove, probe for testing driver remove paths. This
  adds a kconfig option for said test.
  
  [1] 
https://lists.linuxfoundation.org/pipermail/ksummit-discuss/2016-August/003459.html
  
  Suggested-by: Arnd Bergmann 
  Cc: Greg Kroah-Hartman 
  Signed-off-by: Rob Herring 
  Signed-off-by: Greg Kroah-Hartman 

cebf8fd169  driver core: fix race between creating/querying glue dir and its 
cleanup
bea5b158ff  driver core: add test of driver remove calls during probe
+---+++
|   | cebf8fd169 | bea5b158ff |
+---+++
| boot_successes| 215| 0  |
| boot_failures | 0  | 55 |
| calltrace:init| 0  | 55 |
| WARNING:at_drivers/usb/core/urb.c:#usb_submit_urb | 0  | 30 |
| calltrace:hub_init_func3  | 0  | 13 |
| BUG:unable_to_handle_kernel   | 0  | 55 |
| Oops  | 0  | 55 |
| EIP_is_at_i2c_do_del_adapter  | 0  | 55 |
| calltrace:of_unittest | 0  | 55 |
| Kernel_panic-not_syncing:Fatal_exception  | 0  | 55 |
| calltrace:pm_runtime_work | 0  | 16 |
| calltrace:hub_init_func2  | 0  | 1  |
+---+++

[9.260542] hub 1-0:1.0: 1 port detected
[9.261049] hub 1-0:1.0: USB hub found
[9.261458] hub 1-0:1.0: 1 port detected
[9.262388] kobject (cf9188bc): tried to init an initialized object, 
something is seriously wrong.
[9.263589] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 
4.8.0-rc4-3-gbea5b15 #2
[9.264595] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 
1.9.3-20161025_171302-gandalf 04/01/2014
[9.265922]    c0047db4 c11aec39 cf9188bc c1c1ba9c c0047dcc 
c11b0616
[9.267073]  c1ab0c68 cf9188bc cf9188b4 cf918868 c0047dd8 c13090ec cf9188b4 
c0047de4
[9.268230]  c130a49e ce6a8000 c0047e04 c1402216 ce69300c 00200246 cf9188b4 
cf918000
[9.269388] Call Trace:
[9.269720]  [] dump_stack+0x58/0x72
[9.270312]  [] kobject_init+0x27/0x71
[9.270929]  [] device_initialize+0x1b/0xbd
[9.271599]  [] device_register+0xb/0x15
[9.272236]  [] usb_add_gadget_udc_release+0x85/0x215
[9.273036]  [] usb_add_gadget_udc+0xa/0xc
[9.273700]  [] dummy_udc_probe+0x130/0x168
[9.274377]  [] platform_drv_probe+0x44/0x80
[9.275047]  [] driver_probe_device+0xfe/0x297
[9.275748]  [] __device_attach_driver+0x65/0x71
[9.276481]  [] bus_for_each_drv+0x3a/0x67
[9.277130]  [] __device_attach+0x86/0xdb
[9.28]  [] ? driver_allows_async_probing+0xc/0xc
[9.278561]  [] device_initial_probe+0xd/0xf
[9.279235]  [] bus_probe_device+0x25/0x67
[9.279895]  [] device_add+0x341/0x497
[9.280517]  [] ? dev_set_name+0x14/0x16
[9.281154]  [] platform_device_add+0x117/0x161
[9.281879]  [] init+0x20d/0x2f4
[9.282431]  [] ? usb_udc_init+0x3f/0x3f
[9.283075]  [] do_one_initcall+0x7e/0xfc
[9.283725]  [] ? parse_args+0x19b/0x26f
[9.284362]  [] ? kernel_init_freeable+0x147/0x1eb
[9.285100]  [] kernel_init_freeable+0x163/0x1eb
[9.285826]  [] kernel_init+0x8/0xd0
[9.286417]  [] ret_from_kernel_thread+0xe/0x24
[9.287118]  [] ? rest_init+0xa5/0xa5
[9.288532] i8042: PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 
0x60,0x64 irq 1,12
[9.290663] serio: i8042 KBD port at 0x60,0x64 irq 1
[9.291372] serio: i8042 AUX port at 0x60,0x64 irq 12
[9.293351] serio: i8042 KBD port at 0x60,0x64 irq 1
[9.294031] serio: i8042 AUX port at 0x60,0x64 irq 12

The attached dmesg has more follow up errors.

git bisect start 

[usb] bea5b158ff WARNING: CPU: 0 PID: 25 at drivers/usb/core/urb.c:338 usb_submit_urb

2017-02-26 Thread Fengguang Wu
Greetings,

This debug patch possibly discloses some USB/I2C bugs. Since the USB
warning shows up earlier in dmesg, it might also be the root cause of
the I2C bug. The attached reproduce-* script may help debug them.

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master

commit bea5b158ff0da9c7246ff391f754f5f38e34577a
Author: Rob Herring 
AuthorDate: Thu Aug 11 10:20:58 2016 -0500
Commit: Greg Kroah-Hartman 
CommitDate: Wed Aug 31 15:13:55 2016 +0200

 driver core: add test of driver remove calls during probe
 
 In recent discussions on ksummit-discuss[1], it was suggested to do a
 sequence of probe, remove, probe for testing driver remove paths. This
 adds a kconfig option for said test.
 
 [1] 
https://lists.linuxfoundation.org/pipermail/ksummit-discuss/2016-August/003459.html
 
 Suggested-by: Arnd Bergmann 
 Cc: Greg Kroah-Hartman 
 Signed-off-by: Rob Herring 
 Signed-off-by: Greg Kroah-Hartman 

cebf8fd169  driver core: fix race between creating/querying glue dir and its 
cleanup
bea5b158ff  driver core: add test of driver remove calls during probe
+---+++
|   | cebf8fd169 | bea5b158ff |
+---+++
| boot_successes| 215| 0  |
| boot_failures | 0  | 55 |
| calltrace:init| 0  | 55 |
| WARNING:at_drivers/usb/core/urb.c:#usb_submit_urb | 0  | 30 |
| calltrace:hub_init_func3  | 0  | 13 |
| BUG:unable_to_handle_kernel   | 0  | 55 |
| Oops  | 0  | 55 |
| EIP_is_at_i2c_do_del_adapter  | 0  | 55 |
| calltrace:of_unittest | 0  | 55 |
| Kernel_panic-not_syncing:Fatal_exception  | 0  | 55 |
| calltrace:pm_runtime_work | 0  | 16 |
| calltrace:hub_init_func2  | 0  | 1  |
+---+++

[9.260542] hub 1-0:1.0: 1 port detected
[9.261049] hub 1-0:1.0: USB hub found
[9.261458] hub 1-0:1.0: 1 port detected
[9.262388] kobject (cf9188bc): tried to init an initialized object, 
something is seriously wrong.
[9.263589] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 
4.8.0-rc4-3-gbea5b15 #2
[9.264595] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 
1.9.3-20161025_171302-gandalf 04/01/2014
[9.265922]    c0047db4 c11aec39 cf9188bc c1c1ba9c c0047dcc 
c11b0616
[9.267073]  c1ab0c68 cf9188bc cf9188b4 cf918868 c0047dd8 c13090ec cf9188b4 
c0047de4
[9.268230]  c130a49e ce6a8000 c0047e04 c1402216 ce69300c 00200246 cf9188b4 
cf918000
[9.269388] Call Trace:
[9.269720]  [] dump_stack+0x58/0x72
[9.270312]  [] kobject_init+0x27/0x71
[9.270929]  [] device_initialize+0x1b/0xbd
[9.271599]  [] device_register+0xb/0x15
[9.272236]  [] usb_add_gadget_udc_release+0x85/0x215
[9.273036]  [] usb_add_gadget_udc+0xa/0xc
[9.273700]  [] dummy_udc_probe+0x130/0x168
[9.274377]  [] platform_drv_probe+0x44/0x80
[9.275047]  [] driver_probe_device+0xfe/0x297
[9.275748]  [] __device_attach_driver+0x65/0x71
[9.276481]  [] bus_for_each_drv+0x3a/0x67
[9.277130]  [] __device_attach+0x86/0xdb
[9.28]  [] ? driver_allows_async_probing+0xc/0xc
[9.278561]  [] device_initial_probe+0xd/0xf
[9.279235]  [] bus_probe_device+0x25/0x67
[9.279895]  [] device_add+0x341/0x497
[9.280517]  [] ? dev_set_name+0x14/0x16
[9.281154]  [] platform_device_add+0x117/0x161
[9.281879]  [] init+0x20d/0x2f4
[9.282431]  [] ? usb_udc_init+0x3f/0x3f
[9.283075]  [] do_one_initcall+0x7e/0xfc
[9.283725]  [] ? parse_args+0x19b/0x26f
[9.284362]  [] ? kernel_init_freeable+0x147/0x1eb
[9.285100]  [] kernel_init_freeable+0x163/0x1eb
[9.285826]  [] kernel_init+0x8/0xd0
[9.286417]  [] ret_from_kernel_thread+0xe/0x24
[9.287118]  [] ? rest_init+0xa5/0xa5
[9.288532] i8042: PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 
0x60,0x64 irq 1,12
[9.290663] serio: i8042 KBD port at 0x60,0x64 irq 1
[9.291372] serio: i8042 AUX port at 0x60,0x64 irq 12
[9.293351] serio: i8042 KBD port at 0x60,0x64 irq 1
[9.294031] serio: i8042 AUX port at 0x60,0x64 irq 12

The attached dmesg has more follow up errors.

git bisect start v4.9 v4.8 --
git bisect  bad 

Re: [usb:usb-next 124/126] ERROR: "ulpi_unregister_driver" [drivers/phy/phy-tusb1210.ko] undefined!

2016-09-11 Thread Fengguang Wu

On Mon, Sep 12, 2016 at 11:36:20AM +0800, Peter Chen wrote:

On Mon, Sep 12, 2016 at 07:16:07AM +0800, kbuild test robot wrote:

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-next
head:   ab57f86198d6ff20371613d4a02fd4841972a5c0
commit: ad764c49f65ac171e493e6baf39bc8ba296ef376 [124/126] usb: Kconfig: move 
ulpi bus support out of host
config: i386-randconfig-n0-09112120 (attached as .config)
compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
git checkout ad764c49f65ac171e493e6baf39bc8ba296ef376
# save the attached .config to linux build tree
make ARCH=i386

All errors (new ones prefixed by >>):

>> ERROR: "ulpi_unregister_driver" [drivers/phy/phy-tusb1210.ko] undefined!
>> ERROR: "__ulpi_register_driver" [drivers/phy/phy-tusb1210.ko] undefined!
>> ERROR: "ulpi_write" [drivers/phy/phy-tusb1210.ko] undefined!



I am afraid I can't reproduce it after set CONFIG_USB_ULPI_BUS=m
and CONFIG_PHY_TUSB1210=m like attached configuration. Would you
please double confirm it, thanks.


With the attached .config, I can reproduce the above error in both
commit ad764c49f ("usb: Kconfig: move ulpi bus support out of host")
and its parent commit.

The .config has both CONFIG_PHY_TUSB1210=m and CONFIG_USB_ULPI_BUS=m.

Thanks,
Fengguang
#
# Automatically generated file; DO NOT EDIT.
# Linux/i386 4.8.0-rc5 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf32-i386"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_MMU=y
CONFIG_ARCH_MMAP_RND_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_BITS_MAX=16
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_X86_32_SMP=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_DEBUG_RODATA=y
CONFIG_PGTABLE_LEVELS=3
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y

#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
# CONFIG_COMPILE_TEST is not set
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_POSIX_MQUEUE is not set
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_FHANDLE=y
CONFIG_USELIB=y
CONFIG_AUDIT=y
CONFIG_HAVE_ARCH_AUDITSYSCALL=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_WATCH=y
CONFIG_AUDIT_TREE=y

#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_IRQ_DOMAIN_DEBUG=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y

#
# Timers subsystem
#
CONFIG_HZ_PERIODIC=y
# CONFIG_NO_HZ_IDLE is not set
# CONFIG_NO_HZ is not set
# CONFIG_HIGH_RES_TIMERS is not set

#
# CPU/Task time and stats accounting
#
CONFIG_TICK_CPU_ACCOUNTING=y
CONFIG_IRQ_TIME_ACCOUNTING=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
# CONFIG_RCU_EXPERT is not set
CONFIG_SRCU=y
CONFIG_TASKS_RCU=y
CONFIG_RCU_STALL_COMMON=y
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_RCU_EXPEDITE_BOOT is not set
CONFIG_BUILD_BIN2C=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=17
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
CONFIG_NMI_LOG_BUF_SHIFT=13
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
CONFIG_CGROUPS=y
# CONFIG_MEMCG is not set
# CONFIG_BLK_CGROUP is not set
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_CFS_BANDWIDTH is not set
CONFIG_RT_GROUP_SCHED=y
CONFIG_CGROUP_PIDS=y
# CONFIG_CGROUP_FREEZER is not set
# CONFIG_CPUSETS is not set
CONFIG_CGROUP_DEVICE=y
# CONFIG_CGROUP_CPUACCT is not set
CONFIG_CGROUP_PERF=y
# CONFIG_CGROUP_DEBUG 

Re: [usb:usb-next 124/126] ERROR: "ulpi_unregister_driver" [drivers/phy/phy-tusb1210.ko] undefined!

2016-09-11 Thread Fengguang Wu

Hi Peter,

On Mon, Sep 12, 2016 at 11:36:20AM +0800, Peter Chen wrote:

On Mon, Sep 12, 2016 at 07:16:07AM +0800, kbuild test robot wrote:

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-next
head:   ab57f86198d6ff20371613d4a02fd4841972a5c0
commit: ad764c49f65ac171e493e6baf39bc8ba296ef376 [124/126] usb: Kconfig: move 
ulpi bus support out of host
config: i386-randconfig-n0-09112120 (attached as .config)
compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
git checkout ad764c49f65ac171e493e6baf39bc8ba296ef376
# save the attached .config to linux build tree
make ARCH=i386

All errors (new ones prefixed by >>):

>> ERROR: "ulpi_unregister_driver" [drivers/phy/phy-tusb1210.ko] undefined!
>> ERROR: "__ulpi_register_driver" [drivers/phy/phy-tusb1210.ko] undefined!
>> ERROR: "ulpi_write" [drivers/phy/phy-tusb1210.ko] undefined!



I am afraid I can't reproduce it after set CONFIG_USB_ULPI_BUS=m
and CONFIG_PHY_TUSB1210=m like attached configuration. Would you
please double confirm it, thanks.


I just manual confirmed the error. Perhaps this commit leads to a
slightly changed .config?

=== commit ad764c49f ===
/home/wfg/linux
HEAD is now at ad764c4... usb: Kconfig: move ulpi bus support out of host
/home/wfg/linux/obj-compiletest

make ARCH=i386

!!! BUILD ERROR !!!
cat /tmp/build-err-ad764c49f65ac171e493e6baf39bc8ba296ef376-wfg
ERROR: "ulpi_unregister_driver" [drivers/phy/phy-tusb1210.ko] undefined!
ERROR: "__ulpi_register_driver" [drivers/phy/phy-tusb1210.ko] undefined!
ERROR: "ulpi_write" [drivers/phy/phy-tusb1210.ko] undefined!
make[2]: *** [__modpost] Error 1
make[2]: Target '_modpost' not remade because of errors.
make[1]: *** [modules] Error 2
make[1]: Target '_all' not remade because of errors.
make: *** [sub-make] Error 2

=== PREV commit 9b0dd49e3565ddc71346ba7d57079ee6233d0780 
===
/home/wfg/linux
Previous HEAD position was ad764c4... usb: Kconfig: move ulpi bus support out 
of host
HEAD is now at 9b0dd49... Merge 4.8-rc5 into usb-testing
/home/wfg/linux/obj-compiletest

make ARCH=i386

cat /tmp/build-err-9b0dd49e3565ddc71346ba7d57079ee6233d0780-wfg


Thanks,
Fengguang
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] HID: fix noderef.cocci warnings

2016-06-20 Thread Fengguang Wu
Hi Masaki,

On Mon, Jun 20, 2016 at 09:45:02AM +, Masaki Ota wrote:
> Hi, fengguang,
> 
>   ret = hid_hw_raw_request(hdev, U1_FEATURE_REPORT_ID, input,
> - sizeof(input), HID_FEATURE_REPORT, HID_REQ_SET_REPORT);
> + sizeof(*input), HID_FEATURE_REPORT,
> + HID_REQ_SET_REPORT);
> 
> I tested this code, but our device cannot work on it.
> So, I think we should modify the code as below.
> 
>   ret = hid_hw_raw_request(hdev, U1_FEATURE_REPORT_ID, input,
>   sizeof(u8)*U1_FEATURE_REPORT_LEN,
>   HID_FEATURE_REPORT, HID_REQ_SET_REPORT);

OK, thank you for the fix!

Fenguang

> -Original Message-
> From: kbuild test robot [mailto:fengguang...@intel.com] 
> Sent: Saturday, June 18, 2016 9:13 PM
> Cc: kbuild-...@01.org; linux-in...@vger.kernel.org; 
> linux-usb@vger.kernel.org; Jiri Kosina; 太田 真喜 Masaki Ota
> Subject: [PATCH] HID: fix noderef.cocci warnings
> 
> drivers/hid/hid-alps.c:139:3-9: ERROR: application of sizeof to pointer
> drivers/hid/hid-alps.c:148:4-10: ERROR: application of sizeof to pointer
> 
>  sizeof when applied to a pointer typed expression gives the size of  the 
> pointer
> 
> Generated by: scripts/coccinelle/misc/noderef.cocci
> 
> CC: Masaki Ota <masaki@jp.alps.com>
> Signed-off-by: Fengguang Wu <fengguang...@intel.com>
> ---
> 
>  hid-alps.c |5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> --- a/drivers/hid/hid-alps.c
> +++ b/drivers/hid/hid-alps.c
> @@ -136,7 +136,8 @@ static int u1_read_write_register(struct
>  
>   input[7] = check_sum;
>   ret = hid_hw_raw_request(hdev, U1_FEATURE_REPORT_ID, input,
> - sizeof(input), HID_FEATURE_REPORT, HID_REQ_SET_REPORT);
> + sizeof(*input), HID_FEATURE_REPORT,
> + HID_REQ_SET_REPORT);
>  
>   if (ret < 0) {
>   dev_err(>dev, "failed to read command (%d)\n", ret); @@ 
> -145,7 +146,7 @@ static int u1_read_write_register(struct
>  
>   if (read_flag) {
>   ret = hid_hw_raw_request(hdev, U1_FEATURE_REPORT_ID, readbuf,
> - sizeof(readbuf), HID_FEATURE_REPORT,
> + sizeof(*readbuf), HID_FEATURE_REPORT,
>   HID_REQ_GET_REPORT);
>  
>   if (ret < 0) {
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] usb: gadget: f_hid: hidg_alloc() can be static

2014-11-12 Thread Fengguang Wu
drivers/usb/gadget/function/f_hid.c:852:21: sparse: symbol 'hidg_alloc' was not 
declared. Should it be static?

Signed-off-by: Fengguang Wu fengguang...@intel.com
---
 f_hid.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/gadget/function/f_hid.c 
b/drivers/usb/gadget/function/f_hid.c
index f5dcf94..7ef7fec8 100644
--- a/drivers/usb/gadget/function/f_hid.c
+++ b/drivers/usb/gadget/function/f_hid.c
@@ -849,7 +849,7 @@ static void hidg_unbind(struct usb_configuration *c, struct 
usb_function *f)
usb_free_all_descriptors(f);
 }
 
-struct usb_function *hidg_alloc(struct usb_function_instance *fi)
+static struct usb_function *hidg_alloc(struct usb_function_instance *fi)
 {
struct f_hidg *hidg;
struct f_hid_opts *opts;
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] usb: gadget: fix ptr_ret.cocci warnings

2014-10-29 Thread Fengguang Wu
drivers/usb/gadget/udc/r8a66597-udc.c:1849:1-3: WARNING: PTR_ERR_OR_ZERO can be 
used

 Use PTR_ERR_OR_ZERO rather than if(IS_ERR(...)) + PTR_ERR

Generated by: scripts/coccinelle/api/ptr_ret.cocci

Signed-off-by: Fengguang Wu fengguang...@intel.com
---

 r8a66597-udc.c |5 +
 1 file changed, 1 insertion(+), 4 deletions(-)

--- a/drivers/usb/gadget/udc/r8a66597-udc.c
+++ b/drivers/usb/gadget/udc/r8a66597-udc.c
@@ -1846,10 +1846,7 @@ static int r8a66597_sudmac_ioremap(struc
 
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, sudmac);
r8a66597-sudmac_reg = devm_ioremap_resource(pdev-dev, res);
-   if (IS_ERR(r8a66597-sudmac_reg))
-   return PTR_ERR(r8a66597-sudmac_reg);
-
-   return 0;
+   return PTR_ERR_OR_ZERO(r8a66597-sudmac_reg);
 }
 
 static int r8a66597_probe(struct platform_device *pdev)
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[xhci] kernel BUG at arch/x86/mm/physaddr.c:26!

2014-08-27 Thread Fengguang Wu
Hi Dan,

Just in case it helps, here we find a different bug message in the
same commit.

git://git.kernel.org/pub/scm/linux/kernel/git/djbw/usb.git td-fragments-v1

commit e65e21a542cab81d794db4e5fe919c4e1d624ea7
Author: Dan Williams dan.j.willi...@intel.com
AuthorDate: Tue Jul 22 00:08:51 2014 -0700
Commit: Dan Williams dan.j.willi...@intel.com
CommitDate: Fri Aug 22 10:06:50 2014 -0700

xhci: unit test ring enqueue/dequeue routines

Given the complexity of satisfying xhci 1.0+ host trb boundary
constraints, provide a test case that exercises inserting mid-segment
links into a ring.

The linker --wrap= option is used to not pollute the global identifier
space and to make it clear which standard xhci driver routines are being
mocked-up.  The --wrap= option does not come into play when both
xhci-hcd and xhci-test are built-in to the kernel, so namespace
collisions are prevented by excluding xhci-test from the build when
xhci-hcd is built-in.

It's unfortunate that this is an in-kernel test rather than userspace
and that the infrastructure is custom rather than generic.  That said,
it serves its purpose of exercising the corner cases of the scatterlist
parsing implementation in xhci.

Cc: Rusty Russell ru...@rustcorp.com.au
Signed-off-by: Dan Williams dan.j.willi...@intel.com

+--+++
|  | fb6fa3e625 | e65e21a542 |
+--+++
| boot_successes   | 60 | 0  |
| boot_failures| 0  | 20 |
| kernel_BUG_at_arch/x86/mm/physaddr.c | 0  | 20 |
| invalid_opcode   | 0  | 20 |
| RIP:__phys_addr  | 0  | 20 |
| Kernel_panic-not_syncing:Fatal_exception | 0  | 20 |
| backtrace:setup_test_skip64  | 0  | 20 |
| backtrace:xhci_test_init | 0  | 20 |
| backtrace:kernel_init_freeable   | 0  | 20 |
+--+++

[4.350603] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[4.351690] ohci-pci: OHCI PCI platform driver
[4.353334] [ cut here ]
[4.353963] kernel BUG at arch/x86/mm/physaddr.c:26!
[4.354861] invalid opcode:  [#1] 
[4.355395] CPU: 0 PID: 1 Comm: swapper Not tainted 
3.16.0-rc5-00225-ge65e21a #6
[4.356374] task: 8816 ti: 88168000 task.ti: 
88168000
[4.357360] RIP: 0010:[810709e7]  [810709e7] 
__phys_addr+0x51/0x7c
[4.358429] RSP: :8816bce0  EFLAGS: 00010206
[4.359135] RAX: 7800ffe0 RBX: 880010328000 RCX: 0040
[4.360029] RDX: 8000ffe0 RSI: ffe0 RDI: ffe0
[4.360029] RBP: 8816bce0 R08: 8164a813 R09: 0001000d0001
[4.360029] R10: 0040 R11: 0018 R12: ffe0
[4.360029] R13: 0040 R14: ffe0 R15: ffe0
[4.360029] FS:  () GS:8287b000() 
knlGS:
[4.360029] CS:  0010 DS:  ES:  CR0: 8005003b
[4.360029] CR2:  CR3: 02841000 CR4: 06b0
[4.360029] Stack:
[4.360029]  8816bd08 819c1ca5 8816be38 

[4.360029]  0001 8816bd70 819c5fd0 
00400016bd70
[4.360029]  880010328000 8816be04 8816be10 
880010260820
[4.360029] Call Trace:
[4.360029]  [819c1ca5] sg_set_buf+0x21/0xb5
[4.360029]  [819c5fd0] setup_test_skip64+0x126/0x1b3
[4.360029]  [830f6e5d] xhci_test_init+0x229/0x862
[4.360029]  [810ff671] ? trace_hardirqs_on_caller+0x211/0x2cd
[4.360029]  [819c5eaa] ? setup_test_wrap64+0x21a/0x21a
[4.360029]  [81efe6c0] ? __slab_free+0x216/0x401
[4.360029]  [810ff671] ? trace_hardirqs_on_caller+0x211/0x2cd
[4.360029]  [819c5eaa] ? setup_test_wrap64+0x21a/0x21a
[4.360029]  [819c605d] ? setup_test_skip64+0x1b3/0x1b3
[4.360029]  [819c5c90] ? setup_test_dont_trim+0x200/0x200
[4.360029]  [819c5a90] ? xhci_ring_alloc+0x100/0x100
[4.360029]  [830f6c34] ? ohci_pci_init+0x7d/0x7d
[4.360029]  [830b071d] do_one_initcall+0x17c/0x26d
[4.360029]  [810dd5db] ? parameq+0x24/0x2d
[4.360029]  [810dd875] ? parse_args+0x291/0x3e4
[4.360029]  [830b0b63] kernel_init_freeable+0x355/0x461
[4.360029]  [830af92a] ? do_early_param+0xd7/0xd7
[4.360029]  [81ef5194] ? 

drivers/usb/musb/tusb6010.c:946:2: error: implicit declaration of function 'irq_set_irq_type'

2013-03-28 Thread Fengguang Wu
Greetings,

These *huge number* of *long standing* errors make me wonder whether
the below USB driver code should be disabled on s390?

tree:   git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux master
head:   9064171268d838b8f283fe111ef086b9479d059a
commit: dced35aeb0367dda2636ee9ee914bda14510dcc9 drivers: Final irq namespace 
conversion
date:   2 years ago
config: make ARCH=s390 allmodconfig

All error/warnings (The  prefixed ones are introduced by above commit):

   drivers/usb/musb/tusb6010.c: In function 'tusb_wbus_quirk':
   drivers/usb/musb/tusb6010.c:101:36: error: 'TUSB_PHY_OTG_CTRL' undeclared 
(first use in this function)
   drivers/usb/musb/tusb6010.c:102:35: error: 'TUSB_PHY_OTG_CTRL_ENABLE' 
undeclared (first use in this function)
   drivers/usb/musb/tusb6010.c:103:9: error: 'TUSB_PHY_OTG_CTRL_WRPROTECT' 
undeclared (first use in this function)
   drivers/usb/musb/tusb6010.c:104:21: error: 'TUSB_PHY_OTG_CTRL_TESTM2' 
undeclared (first use in this function)
   drivers/usb/musb/tusb6010.c:104:21: error: 'TUSB_PHY_OTG_CTRL_TESTM1' 
undeclared (first use in this function)
   drivers/usb/musb/tusb6010.c:104:21: error: 'TUSB_PHY_OTG_CTRL_TESTM0' 
undeclared (first use in this function)
   drivers/usb/musb/tusb6010.c: In function 'musb_write_fifo':
   drivers/usb/musb/tusb6010.c:175:31: error: 'struct musb_hw_ep' has no member 
named 'conf'
   drivers/usb/musb/tusb6010.c:185:24: error: 'TUSB_EP_TX_OFFSET' undeclared 
(first use in this function)
   drivers/usb/musb/tusb6010.c:186:4: error: implicit declaration of function 
'TUSB_EP_CONFIG_XFR_SIZE' [-Werror=implicit-function-declaration]
   drivers/usb/musb/tusb6010.c:188:27: error: 'TUSB_EP0_CONFIG_DIR_TX' 
undeclared (first use in this function)
   drivers/usb/musb/tusb6010.c:189:4: error: implicit declaration of function 
'TUSB_EP0_CONFIG_XFR_SIZE' [-Werror=implicit-function-declaration]
   drivers/usb/musb/tusb6010.c: In function 'musb_read_fifo':
   drivers/usb/musb/tusb6010.c:224:31: error: 'struct musb_hw_ep' has no member 
named 'conf'
   drivers/usb/musb/tusb6010.c:232:24: error: 'TUSB_EP_RX_OFFSET' undeclared 
(first use in this function)
   drivers/usb/musb/tusb6010.c: In function 'tusb_set_clock_source':
   drivers/usb/musb/tusb6010.c:324:26: error: 'TUSB_PRCM_CONF' undeclared 
(first use in this function)
   drivers/usb/musb/tusb6010.c:325:2: error: implicit declaration of function 
'TUSB_PRCM_CONF_SYS_CLKSEL' [-Werror=implicit-function-declaration]
   drivers/usb/musb/tusb6010.c: In function 'tusb_allow_idle':
   drivers/usb/musb/tusb6010.c:351:24: error: 'TUSB_PRCM_WBUS' undeclared 
(first use in this function)
   drivers/usb/musb/tusb6010.c:352:35: error: 'TUSB_REV_30' undeclared (first 
use in this function)
   drivers/usb/musb/tusb6010.c:357:20: error: 'TUSB_PRCM_WNORCS' undeclared 
(first use in this function)
   drivers/usb/musb/tusb6010.c:358:21: error: 'TUSB_PRCM_WAKEUP_MASK' 
undeclared (first use in this function)
   drivers/usb/musb/tusb6010.c:365:26: error: 'TUSB_PRCM_MNGMT' undeclared 
(first use in this function)
   drivers/usb/musb/tusb6010.c:368:10: error: 'TUSB_PRCM_MNGMT_OTG_VBUS_DET_EN' 
undeclared (first use in this function)
   drivers/usb/musb/tusb6010.c:369:11: error: 'TUSB_PRCM_MNGMT_OTG_SESS_END_EN' 
undeclared (first use in this function)
   drivers/usb/musb/tusb6010.c:374:9: error: 'TUSB_PRCM_MNGMT_PM_IDLE' 
undeclared (first use in this function)
   drivers/usb/musb/tusb6010.c:374:35: error: 'TUSB_PRCM_MNGMT_DEV_IDLE' 
undeclared (first use in this function)
   drivers/usb/musb/tusb6010.c: In function 'tusb_musb_vbus_status':
   drivers/usb/musb/tusb6010.c:389:31: error: 'TUSB_DEV_OTG_STAT' undeclared 
(first use in this function)
   drivers/usb/musb/tusb6010.c:390:33: error: 'TUSB_PRCM_MNGMT' undeclared 
(first use in this function)
   drivers/usb/musb/tusb6010.c:396:21: error: 'TUSB_PRCM_MNGMT_OTG_VBUS_DET_EN' 
undeclared (first use in this function)
   drivers/usb/musb/tusb6010.c:404:17: error: 'TUSB_DEV_OTG_STAT_VBUS_VALID' 
undeclared (first use in this function)
   drivers/usb/musb/tusb6010.c: In function 'musb_do_idle':
   drivers/usb/musb/tusb6010.c:452:13: error: 'TUSB_PRCM_WHOSTDISCON' 
undeclared (first use in this function)
   drivers/usb/musb/tusb6010.c:452:37: error: 'TUSB_PRCM_WBUS' undeclared 
(first use in this function)
   drivers/usb/musb/tusb6010.c: In function 'tusb_musb_set_vbus':
   drivers/usb/musb/tusb6010.c:524:27: error: 'TUSB_PRCM_MNGMT' undeclared 
(first use in this function)
   drivers/usb/musb/tusb6010.c:525:27: error: 'TUSB_DEV_CONF' undeclared (first 
use in this function)
   drivers/usb/musb/tusb6010.c:529:3: error: implicit declaration of function 
'TUSB_DEV_OTG_TIMER_VAL' [-Werror=implicit-function-declaration]
   drivers/usb/musb/tusb6010.c:529:11: error: 'TUSB_DEV_OTG_TIMER_ENABLE' 
undeclared (first use in this function)
   drivers/usb/musb/tusb6010.c:534:11: error: 'TUSB_DEV_CONF_USB_HOST_MODE' 
undeclared (first use in this function)
   

Re: [PATCH] usb/gadget: initialize gadget functions helper befor functions gadgets

2013-03-05 Thread Fengguang Wu
On Mon, Mar 04, 2013 at 10:28:09PM +0100, Sebastian Andrzej Siewior wrote:
 Fengguang Wu run into a kernel ops after he complied dummy_hcd and g_cdc
 into the kernel. The problem was that u_serial was used by g_cdc before
 u_serial was initialized. In the module case eveything is initialized in
 the correct order but if we compile it into the kernel we rely on
 Makefile order which I did wrong and now I correct this.
 
 Cc: Fengguang Wu fengguang...@intel.com
 Signed-off-by: Sebastian Andrzej Siewior sebast...@breakpoint.cc

Tested-by: Fengguang Wu fengguang...@intel.com

Thanks!
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] usb/gadget: initialize gadget functions helper befor functions gadgets

2013-03-05 Thread Fengguang Wu
On Tue, Mar 05, 2013 at 05:57:34PM +0800, Fengguang Wu wrote:
 On Mon, Mar 04, 2013 at 10:28:09PM +0100, Sebastian Andrzej Siewior wrote:
  Fengguang Wu run into a kernel ops after he complied dummy_hcd and g_cdc
  into the kernel. The problem was that u_serial was used by g_cdc before
  u_serial was initialized. In the module case eveything is initialized in
  the correct order but if we compile it into the kernel we rely on
  Makefile order which I did wrong and now I correct this.
  
  Cc: Fengguang Wu fengguang...@intel.com
  Signed-off-by: Sebastian Andrzej Siewior sebast...@breakpoint.cc
 
 Tested-by: Fengguang Wu fengguang...@intel.com

Note that I still get this warning, however looks like an unrelated
issue:

[  602.536679] [ INFO: possible circular locking dependency detected ]
[  602.536672] 
[  602.536679] ==
[  602.536679] [ INFO: possible circular locking dependency detected ]
[  602.536693] 3.8.0-bisect-next-20130301-dirty #212 Not tainted
[  602.536694] ---
[  602.536698] kworker/0:1/27 is trying to acquire lock:
[  602.536750]  (fb_info-lock){+.+.+.}, at: [814c0176] 
lock_fb_info+0x26/0x60
[  602.536751] 
[  602.536751] but task is already holding lock:
[  602.536773]  (console_lock){+.+.+.}, at: [815a6a13] 
console_callback+0x13/0x150
[  602.536774] 
[  602.536774] which lock already depends on the new lock.

Thanks,
Fengguang
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [usb gadget] WARNING: at kernel/mutex.c:198 __mutex_lock_common()

2013-03-02 Thread Fengguang Wu
On Wed, Feb 27, 2013 at 12:49:35PM +0200, Felipe Balbi wrote:
 Hi,
 
 On Wed, Feb 06, 2013 at 10:04:24AM +0800, Fengguang Wu wrote:
  Greetings,
  
  I got the below warning and the first bad commit is
 
 can you send a fixup patch ?

Sorry I don't have the fix. Maarten once proposed

: Can you change __mutex_lock_common from inline to __always_inline and
: check if that gets rid of the warning?

and it worked at that time, however it does not work today when I
go out to double check the below patch...

---
mutex: fix mutex_lock_nested() warning by always inline __mutex_lock_common()

Proposed by Maarten Lankhorst.

[   46.942158] hub 1-0:1.0: state 7 ports 1 chg  evt 
[   48.395515] [ cut here ]
[   48.400015] WARNING: at /c/kernel-tests/src/stable/kernel/mutex.c:199 
mutex_lock_nested+0x336/0x390()
[   48.400015] Hardware name: Bochs
[   48.400015] Pid: 1, comm: swapper Not tainted 3.8.0-06406-g16281d9 #47
[   48.400015] Call Trace:
[   48.400015]  [8105f36a] warn_slowpath_common+0x7a/0xb0
[   48.400015]  [8105f48a] warn_slowpath_null+0x1a/0x20
[   48.400015]  [81bb5d26] mutex_lock_nested+0x336/0x390
[   48.400015]  [81968e1a] ? gserial_alloc_line+0x4a/0x230
[   48.400015]  [81ae9bf5] ? netdev_run_todo+0x55/0x390
[   48.400015]  [81968e1a] gserial_alloc_line+0x4a/0x230
[   48.400015]  [823eecc0] nokia_bind+0x39/0x15e
[   48.400015]  [819501ef] composite_bind+0xcf/0x1c0
[   48.400015]  [823ee33e] ? udc_driver_init+0x12/0x12
[   48.400015]  [8194c427] udc_bind_to_driver+0x47/0x100
[   48.400015]  [8194d048] usb_gadget_probe_driver+0x88/0xf0
[   48.400015]  [823ee32c] ? m66592_probe+0x422/0x422
[   48.400015]  [8195036b] usb_composite_probe+0x8b/0xb0
[   48.400015]  [823ee34e] nokia_init+0x10/0x12
[   48.400015]  [823b7002] do_one_initcall+0x78/0x136
[   48.400015]  [823b71b1] kernel_init_freeable+0xf1/0x180
[   48.400015]  [823b686e] ? do_early_param+0x8c/0x8c
[   48.400015]  [81ba1780] ? rest_init+0xd0/0xd0
[   48.400015]  [81ba178e] kernel_init+0xe/0xf0
[   48.400015]  [81bba32a] ret_from_fork+0x7a/0xb0
[   48.400015]  [81ba1780] ? rest_init+0xd0/0xd0
[   48.400015] ---[ end trace 6b9f844cfecfc556 ]---

---
 kernel/mutex.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- linux.orig/kernel/mutex.c   2013-01-30 07:42:40.894224217 +0800
+++ linux/kernel/mutex.c2013-03-02 21:25:48.809244384 +0800
@@ -129,7 +129,7 @@ EXPORT_SYMBOL(mutex_unlock);
 /*
  * Lock a mutex (possibly interruptible), slowpath:
  */
-static inline int __sched
+static __always_inline int __sched
 __mutex_lock_common(struct mutex *lock, long state, unsigned int subclass,
struct lockdep_map *nest_lock, unsigned long ip)
 {
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [usb gadget] WARNING: at kernel/mutex.c:198 __mutex_lock_common()

2013-03-02 Thread Fengguang Wu
On Sat, Mar 02, 2013 at 02:41:07PM +0100, Sebastian Andrzej Siewior wrote:
 On 03/02/2013 02:37 PM, Fengguang Wu wrote:
  On Wed, Feb 27, 2013 at 12:49:35PM +0200, Felipe Balbi wrote:
  Hi,
 
  On Wed, Feb 06, 2013 at 10:04:24AM +0800, Fengguang Wu wrote:
  Greetings,
 
  I got the below warning and the first bad commit is
 
  can you send a fixup patch ?
  
  Sorry I don't have the fix. Maarten once proposed
  
  : Can you change __mutex_lock_common from inline to __always_inline and
  : check if that gets rid of the warning?
  
  and it worked at that time, however it does not work today when I
  go out to double check the below patch...
 
 This does not get even close to a fix, not to mention a proper one. The
 problem is that a spinlock is hold while a mutex is going to be taken.
 Maybe I get to this?

That'd be great. I can help test your patch out.

Thanks,
Fengguang
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] usb: gadget: make userial_init() static

2013-02-02 Thread Fengguang Wu
Signed-off-by: Fengguang Wu fengguang...@intel.com
---
 drivers/usb/gadget/u_serial.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-next.orig/drivers/usb/gadget/u_serial.c   2013-02-03 
09:50:18.422689811 +0800
+++ linux-next/drivers/usb/gadget/u_serial.c2013-02-03 09:50:27.570690026 
+0800
@@ -1288,7 +1288,7 @@ void gserial_disconnect(struct gserial *
 }
 EXPORT_SYMBOL_GPL(gserial_disconnect);
 
-int userial_init(void)
+static int userial_init(void)
 {
unsignedi;
int status;
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] usb: gadget: make gzero_options static

2013-02-02 Thread Fengguang Wu
Signed-off-by: Fengguang Wu fengguang...@intel.com
---
 drivers/usb/gadget/zero.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-next.orig/drivers/usb/gadget/zero.c   2013-02-03 09:50:18.426689812 
+0800
+++ linux-next/drivers/usb/gadget/zero.c2013-02-03 09:53:35.162694484 
+0800
@@ -63,7 +63,7 @@ static const char longname[] = Gadget Z
 static bool loopdefault = 0;
 module_param(loopdefault, bool, S_IRUGO|S_IWUSR);
 
-struct usb_zero_options gzero_options = {
+static struct usb_zero_options gzero_options = {
.isoc_interval = 4,
.isoc_maxpacket = 1024,
.bulk_buflen = 4096,
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [balbi-usb:gadget 19/61] drivers/usb/gadget/mv_udc_core.c:1124:16: error: 'struct mv_usb_platform_data' has no member named 'phy_init'

2013-01-21 Thread Fengguang Wu
On Mon, Jan 21, 2013 at 10:13:43AM +0200, Felipe Balbi wrote:
 On Sun, Jan 20, 2013 at 05:24:05PM -0800, Chao Xie wrote:
[snip]
  I am formatting and re-test the patches. I will send out today.
  Thanks.
 
 
 great, please make sure to compile test on x86 and ARM with
 allyesconfig, allnoconfig and allmodconfig.

Note that allyesconfig, allnoconfig and allmodconfig builds are broken
in ARM. The ARM configs that are expected to be build tested can be
found in arch/arm/configs/. Just pick some of them for doing build tests.

Thanks,
Fengguang
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[usb:usb-next 4/10] drivers/usb/misc/usb3503.c:238 usb3503_probe() error: we previously assumed 'pdata' could be null (see line 196)

2013-01-11 Thread Fengguang Wu

Hi Dongjin,

FYI, there are new smatch warnings show up in

tree:   git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-next
head:   f8be6bfc5da027952e827a503e747fde5393adcc
commit: 6a099c63650e50ebf7d1259b859a3d230aec4207 [4/10] USB: misc: Add USB3503 
High-Speed Hub Controller

drivers/usb/misc/usb3503.c:238 usb3503_probe() error: we previously assumed 
'pdata' could be null (see line 196)

vim +/pdata +238 drivers/usb/misc/usb3503.c

6a099c63 Dongjin Kim 2012-12-08  190return -ENOMEM;
6a099c63 Dongjin Kim 2012-12-08  191}
6a099c63 Dongjin Kim 2012-12-08  192  
6a099c63 Dongjin Kim 2012-12-08  193i2c_set_clientdata(i2c, hub);
6a099c63 Dongjin Kim 2012-12-08  194hub-client = i2c;
6a099c63 Dongjin Kim 2012-12-08  195  
6a099c63 Dongjin Kim 2012-12-08 @196if (!pdata) {
6a099c63 Dongjin Kim 2012-12-08  197dev_dbg(i2c-dev, missing 
platform data\n);
6a099c63 Dongjin Kim 2012-12-08  198} else {
6a099c63 Dongjin Kim 2012-12-08  199hub-gpio_intn  = 
pdata-gpio_intn;
6a099c63 Dongjin Kim 2012-12-08  200hub-gpio_connect   = 
pdata-gpio_connect;
6a099c63 Dongjin Kim 2012-12-08  201hub-gpio_reset = 
pdata-gpio_reset;
6a099c63 Dongjin Kim 2012-12-08  202hub-mode   = 
pdata-initial_mode;
6a099c63 Dongjin Kim 2012-12-08  203}
6a099c63 Dongjin Kim 2012-12-08  204  
6a099c63 Dongjin Kim 2012-12-08  205if (gpio_is_valid(hub-gpio_intn)) {
6a099c63 Dongjin Kim 2012-12-08  206err = 
gpio_request_one(hub-gpio_intn,
6a099c63 Dongjin Kim 2012-12-08  207
GPIOF_OUT_INIT_HIGH, usb3503 intn);
6a099c63 Dongjin Kim 2012-12-08  208if (err) {
6a099c63 Dongjin Kim 2012-12-08  209dev_err(i2c-dev,
6a099c63 Dongjin Kim 2012-12-08  210unable 
to request GPIO %d as connect pin (%d)\n,
6a099c63 Dongjin Kim 2012-12-08  211
hub-gpio_intn, err);
6a099c63 Dongjin Kim 2012-12-08  212goto err_gpio_intn;
6a099c63 Dongjin Kim 2012-12-08  213}
6a099c63 Dongjin Kim 2012-12-08  214}
6a099c63 Dongjin Kim 2012-12-08  215  
6a099c63 Dongjin Kim 2012-12-08  216if (gpio_is_valid(hub-gpio_connect)) {
6a099c63 Dongjin Kim 2012-12-08  217err = 
gpio_request_one(hub-gpio_connect,
6a099c63 Dongjin Kim 2012-12-08  218
GPIOF_OUT_INIT_HIGH, usb3503 connect);
6a099c63 Dongjin Kim 2012-12-08  219if (err) {
6a099c63 Dongjin Kim 2012-12-08  220dev_err(i2c-dev,
6a099c63 Dongjin Kim 2012-12-08  221unable 
to request GPIO %d as connect pin (%d)\n,
6a099c63 Dongjin Kim 2012-12-08  222
hub-gpio_connect, err);
6a099c63 Dongjin Kim 2012-12-08  223goto err_gpio_connect;
6a099c63 Dongjin Kim 2012-12-08  224}
6a099c63 Dongjin Kim 2012-12-08  225}
6a099c63 Dongjin Kim 2012-12-08  226  
6a099c63 Dongjin Kim 2012-12-08  227if (gpio_is_valid(hub-gpio_reset)) {
6a099c63 Dongjin Kim 2012-12-08  228err = 
gpio_request_one(hub-gpio_reset,
6a099c63 Dongjin Kim 2012-12-08  229
GPIOF_OUT_INIT_LOW, usb3503 reset);
6a099c63 Dongjin Kim 2012-12-08  230if (err) {
6a099c63 Dongjin Kim 2012-12-08  231dev_err(i2c-dev,
6a099c63 Dongjin Kim 2012-12-08  232unable 
to request GPIO %d as reset pin (%d)\n,
6a099c63 Dongjin Kim 2012-12-08  233
hub-gpio_reset, err);
6a099c63 Dongjin Kim 2012-12-08  234goto err_gpio_reset;
6a099c63 Dongjin Kim 2012-12-08  235}
6a099c63 Dongjin Kim 2012-12-08  236}
6a099c63 Dongjin Kim 2012-12-08  237  
6a099c63 Dongjin Kim 2012-12-08 @238usb3503_switch_mode(hub, 
pdata-initial_mode);
6a099c63 Dongjin Kim 2012-12-08  239  
6a099c63 Dongjin Kim 2012-12-08  240dev_info(i2c-dev, %s: probed on  %s 
mode\n, __func__,
6a099c63 Dongjin Kim 2012-12-08  241(hub-mode == 
USB3503_MODE_HUB) ? hub : standby);

---
0-DAY kernel build testing backend Open Source Technology Center
Fengguang Wu, Yuanhan Liu  Intel Corporation
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [usb:usb-next 4/10] drivers/usb/misc/usb3503.c:238 usb3503_probe() error: we previously assumed 'pdata' could be null (see line 196)

2013-01-11 Thread Fengguang Wu
Dongjin,

 Do I need to send another patch on top of it to fix the warning or

Yes, you'll need to send another incremental fix to Greg.

Thanks,
Fengguang
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] usb: misc: usb3503_probe() can be static

2013-01-11 Thread Fengguang Wu
Signed-off-by: Fengguang Wu fengguang...@intel.com
---
 drivers/usb/misc/usb3503.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-next.orig/drivers/usb/misc/usb3503.c  2013-01-12 13:12:34.367933402 
+0800
+++ linux-next/drivers/usb/misc/usb3503.c   2013-01-12 13:12:37.251933471 
+0800
@@ -178,7 +178,7 @@ err_hubmode:
return err;
 }
 
-int usb3503_probe(struct i2c_client *i2c, const struct i2c_device_id *id)
+static int usb3503_probe(struct i2c_client *i2c, const struct i2c_device_id 
*id)
 {
struct usb3503_platform_data *pdata = i2c-dev.platform_data;
struct usb3503 *hub;
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[balbi-usb:gadget 13/13] drivers/usb/gadget/m66592-udc.c:1756:1: warning: data definition has no type or storage class

2013-01-10 Thread Fengguang Wu
 m66592_driver = {
598f22e1 Yoshihiro Shimoda 2007-07-17  1749 .remove =   
__exit_p(m66592_remove),
4cf2503c Yoshihiro Shimoda 2007-05-10  1750 .driver = {
4cf2503c Yoshihiro Shimoda 2007-05-10  1751 .name = (char 
*) udc_name,
f34c32f1 Kay Sievers   2008-04-10  1752 .owner  = 
THIS_MODULE,
4cf2503c Yoshihiro Shimoda 2007-05-10  1753 },
4cf2503c Yoshihiro Shimoda 2007-05-10  1754  };
4cf2503c Yoshihiro Shimoda 2007-05-10  1755  
df2167b3 Fabio Porcedda2013-01-09 @1756  
module_platform_driver_probe(m66592_driver, m66592_probe);

---
0-DAY kernel build testing backend Open Source Technology Center
Fengguang Wu, Yuanhan Liu  Intel Corporation
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [net-next:master 209/235] drivers/net/usb/smsc95xx.c:1134:39-50: ERROR: reference preceded by free on line 1136

2012-11-08 Thread Fengguang Wu
Julia,

On Thu, Nov 08, 2012 at 09:08:04AM +0100, Julia Lawall wrote:
 It's a false positive because check_warn_return does a return.

Right.

 But I wonder if there is a way that we can encourage people not to
 do things like that?

Well I suspect the memory leak bug 06a221be0 tries to fix might be
due to check_warn_return() hiding the otherwise very obvious syntax
highlighted 'return' statement.

Thanks,
Fengguang

 TO: Ming Lei ming@canonical.com
 CC: net...@vger.kernel.org
 
 
 Hi Ming,
 
 FYI, there are coccinelle warnings in
 
 tree:   git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 
 master
 head:   f1e0b5b4f1eae56a3192688177f36e2bdf0e01ac
 commit: 06a221be022c2cc98a48e0808a4ef0dc8f0b3a34 [209/235] usbnet: smsc95xx: 
 fix memory leak in smsc95xx_suspend
 :: branch date: 8 hours ago
 :: commit date: 23 hours ago
 
 + drivers/net/usb/smsc95xx.c:1134:39-50: ERROR: reference preceded by free 
 on line 1136
  drivers/net/usb/smsc95xx.c:1139:8-19: ERROR: reference preceded by free on 
  line 1136
 
 git remote update net-next
 git checkout 06a221be022c2cc98a48e0808a4ef0dc8f0b3a34
 vim +1134 drivers/net/usb/smsc95xx.c
 
 bbd9f9ee Steve Glendinning 2012-10-26  1128  
 offset[filter/4] |= 0x00  ((filter % 4) * 8);
 bbd9f9ee Steve Glendinning 2012-10-26  1129  
 crc[filter/2] |= smsc_crc(dev-net-dev_addr, ETH_ALEN, filter);
 bbd9f9ee Steve Glendinning 2012-10-26  1130  
 filter++;
 bbd9f9ee Steve Glendinning 2012-10-26  1131  }
 bbd9f9ee Steve Glendinning 2012-10-26  1132
 bbd9f9ee Steve Glendinning 2012-10-26  1133  for (i = 0; i  
 (pdata-wuff_filter_count * 4); i++) {
 bbd9f9ee Steve Glendinning 2012-10-26 @1134  ret = 
 smsc95xx_write_reg(dev, WUFF, filter_mask[i]);
 06a221be Ming Lei  2012-11-06  1135  if (ret 
  0)
 06a221be Ming Lei  2012-11-06 @1136  
 kfree(filter_mask);
 bbd9f9ee Steve Glendinning 2012-10-26  1137  
 check_warn_return(ret, Error writing WUFF);
 bbd9f9ee Steve Glendinning 2012-10-26  1138  }
 06a221be Ming Lei  2012-11-06  1139  
 kfree(filter_mask);
 
 :: The code at line 1134 was first introduced by commit:
 :: bbd9f9e smsc95xx: add wol support for more frame types
 
 :: TO: Steve Glendinning steve.glendinn...@shawell.net
 :: CC: David S. Miller da...@davemloft.net
 
 ---
 0-DAY kernel build testing backend Open Source Technology Center
 Fengguang Wu, Yuanhan Liu  Intel Corporation
 
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [usb:usb-next 92/93] drivers/usb/chipidea/../host/ehci.h:665:2: error: implicit declaration of function 'readl'

2012-11-03 Thread Fengguang Wu
On Fri, Nov 02, 2012 at 03:13:54PM -0400, Alan Stern wrote:
 On Sat, 3 Nov 2012, Fengguang Wu wrote:
 
  tree:   git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git 
  usb-next
  head:   bc8d51ea7e8ae0abb90fa89407b55a7e0bcb0a2a
  commit: 09f6ffde2ecef4cc4e2a5edaa303210cabd96f57 [92/93]  USB: EHCI: fix 
  build error by making ChipIdea host a normal EHCI driver
  config: make ARCH=arm imx_v6_v7_defconfig
  
  All error/warnings:
  
  In file included from drivers/usb/chipidea/host.c:28:0:
  drivers/usb/chipidea/../host/ehci.h: In function 'ehci_readl':
  drivers/usb/chipidea/../host/ehci.h:665:2: error: implicit declaration of 
  function 'readl' [-Werror=implicit-function-declaration]
  drivers/usb/chipidea/../host/ehci.h: In function 'ehci_writel':
  drivers/usb/chipidea/../host/ehci.h:677:2: error: implicit declaration of 
  function 'writel' [-Werror=implicit-function-declaration]
  cc1: some warnings being treated as errors
 
 This patch ought to fix the problem.  Can you test it?

Sure. It works!

Thanks,
Fengguang

 Alan Stern
 
 
 
 Index: usb-3.7/drivers/usb/chipidea/host.c
 ===
 --- usb-3.7.orig/drivers/usb/chipidea/host.c
 +++ usb-3.7/drivers/usb/chipidea/host.c
 @@ -20,6 +20,7 @@
   */
  
  #include linux/kernel.h
 +#include linux/io.h
  #include linux/usb.h
  #include linux/usb/hcd.h
  #include linux/usb/chipidea.h
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [usb:usb-next 87/89] usbmisc_imx6q.c:(.text+0xa30): multiple definition of `ehci_init_driver'

2012-11-02 Thread Fengguang Wu
On Fri, Nov 02, 2012 at 11:13:56AM +0200, Felipe Balbi wrote:
 Hi,
 
 On Fri, Nov 02, 2012 at 02:05:52AM +0800, kbuild test robot wrote:
  tree:   git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git 
  usb-next
  head:   99f91934a907df31ba878dfdd090002049dc476a
  commit: 3e0232039967d7a1a06c013d097458b4d5892af1 [87/89] USB: EHCI: prepare 
  to make ehci-hcd a library module
  config: make ARCH=arm imx_v6_v7_defconfig
  
  All error/warnings:
  
  drivers/usb/chipidea/built-in.o: In function `ehci_init_driver':
  usbmisc_imx6q.c:(.text+0xa30): multiple definition of `ehci_init_driver'
  drivers/usb/host/built-in.o:ehci-hcd.c:(.text+0x330): first defined here
  drivers/usb/chipidea/built-in.o: In function `ehci_suspend':
  usbmisc_imx6q.c:(.text+0x4478): multiple definition of `ehci_suspend'
  drivers/usb/host/built-in.o:ehci-hcd.c:(.text+0x364c): first defined here
  drivers/usb/chipidea/built-in.o: In function `ehci_resume':
  usbmisc_imx6q.c:(.text+0x4568): multiple definition of `ehci_resume'
  drivers/usb/host/built-in.o:ehci-hcd.c:(.text+0x373c): first defined here
  drivers/usb/chipidea/built-in.o: In function `ehci_setup':
  usbmisc_imx6q.c:(.text+0x86b0): multiple definition of `ehci_setup'
  drivers/usb/host/built-in.o:ehci-hcd.c:(.text+0x82b0): first defined here
 
 Alex, second report.

Yes, sorry. I've fixed up the script to remove the small differences
between

i386 allyesconfig

(.text+0x2872): multiple definition of `ehci_init_driver'
^^^

arm imx_v6_v7_defconfig

usbmisc_imx6q.c:(.text+0xa30): multiple definition of `ehci_init_driver'
^^
Thanks,
Fengguang
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[usb:usb-next 92/93] drivers/usb/chipidea/../host/ehci.h:665:2: error: implicit declaration of function 'readl'

2012-11-02 Thread Fengguang Wu
tree:   git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-next
head:   bc8d51ea7e8ae0abb90fa89407b55a7e0bcb0a2a
commit: 09f6ffde2ecef4cc4e2a5edaa303210cabd96f57 [92/93]  USB: EHCI: fix build 
error by making ChipIdea host a normal EHCI driver
config: make ARCH=arm imx_v6_v7_defconfig

All error/warnings:

In file included from drivers/usb/chipidea/host.c:28:0:
drivers/usb/chipidea/../host/ehci.h: In function 'ehci_readl':
drivers/usb/chipidea/../host/ehci.h:665:2: error: implicit declaration of 
function 'readl' [-Werror=implicit-function-declaration]
drivers/usb/chipidea/../host/ehci.h: In function 'ehci_writel':
drivers/usb/chipidea/../host/ehci.h:677:2: error: implicit declaration of 
function 'writel' [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors

vim +665 +/readl drivers/usb/chipidea/../host/ehci.h

083522d7 Benjamin Herrenschmidt 2006-12-15  659  {
d728e327 Benjamin Herrenschmidt 2006-12-28  660  #ifdef 
CONFIG_USB_EHCI_BIG_ENDIAN_MMIO
083522d7 Benjamin Herrenschmidt 2006-12-15  661 return 
ehci_big_endian_mmio(ehci) ?
68f50e52 Al Viro2007-02-09  662 readl_be(regs) :
68f50e52 Al Viro2007-02-09  663 readl(regs);
d728e327 Benjamin Herrenschmidt 2006-12-28  664  #else
68f50e52 Al Viro2007-02-09 @665 return readl(regs);
d728e327 Benjamin Herrenschmidt 2006-12-28  666  #endif
083522d7 Benjamin Herrenschmidt 2006-12-15  667  }
083522d7 Benjamin Herrenschmidt 2006-12-15  668  
6dbd682b Stefan Roese   2007-05-01  669  static inline void 
ehci_writel(const struct ehci_hcd *ehci,
6dbd682b Stefan Roese   2007-05-01  670 const unsigned 
int val, __u32 __iomem *regs)
083522d7 Benjamin Herrenschmidt 2006-12-15  671  {
d728e327 Benjamin Herrenschmidt 2006-12-28  672  #ifdef 
CONFIG_USB_EHCI_BIG_ENDIAN_MMIO
083522d7 Benjamin Herrenschmidt 2006-12-15  673 
ehci_big_endian_mmio(ehci) ?
68f50e52 Al Viro2007-02-09  674 writel_be(val, 
regs) :
68f50e52 Al Viro2007-02-09  675 writel(val, 
regs);
d728e327 Benjamin Herrenschmidt 2006-12-28  676  #else
68f50e52 Al Viro2007-02-09 @677 writel(val, regs);
d728e327 Benjamin Herrenschmidt 2006-12-28  678  #endif
083522d7 Benjamin Herrenschmidt 2006-12-15  679  }
8cd42e97 Kumar Gala 2006-01-20  680  

---
0-DAY kernel build testing backend Open Source Technology Center
Fengguang Wu, Yuanhan Liu  Intel Corporation
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [balbi-usb:xceiv 3/3] drivers/usb/phy/rcar-phy.c:75:3: error: implicit declaration of function 'iowrite32'

2012-11-01 Thread Fengguang Wu
On Thu, Nov 01, 2012 at 04:47:14PM +0300, Max Filippov wrote:
 On Thu, Nov 1, 2012 at 5:23 PM, Felipe Balbi ba...@ti.com wrote:
  Hi,
 
  On Thu, Nov 01, 2012 at 06:04:20AM -0700, Greg KH wrote:
  On Thu, Nov 01, 2012 at 12:50:34PM +0200, Felipe Balbi wrote:
   On Thu, Nov 01, 2012 at 12:33:39PM +0200, Felipe Balbi wrote:
Hi,
   
On Thu, Nov 01, 2012 at 06:29:30PM +0800, kbuild test robot wrote:
 tree:   git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git 
 xceiv
 head:   1789e52acc90c87484a109d6349eefe63cabb257
 commit: 1789e52acc90c87484a109d6349eefe63cabb257 [3/3] usb: phy: add 
 R-Car USB phy driver
 config: make ARCH=cris allyesconfig

 All error/warnings:

 drivers/usb/phy/rcar-phy.c: In function 'rcar_usb_phy_init':
 drivers/usb/phy/rcar-phy.c:75:3: error: implicit declaration of 
 function 'iowrite32' [-Werror=implicit-function-declaration]
 drivers/usb/phy/rcar-phy.c:83:4: error: implicit declaration of 
 function 'ioread32' [-Werror=implicit-function-declaration]
 cc1: some warnings being treated as errors
   
too bad that it compiles fine on x86 and ARM :-(
   
Kuninori, care to send me a fixup patch ? I guess using 
writel()/readl()
should do it ?!?
  
   looks like this isn't enough. We have 6 arches which don't provide
   writel()/readl(), namely blackfin, c6x, openrisc, s390, score, and um.
  
   Should those arches be fixed instead ? Don't we have a single
   memory-mapped access set of APIs which are supposed to be provided by
   all arches ?
  
   Greg, you've been doing this for much more time then I have. Should all
   arches provide writeb/w/l/q and readb/w/l/q ??
 
  I would think so, but I really don't know.
 
  linux-arch people, what do we do about architectures that don't provide
  these functions?  Just disable building the drivers for them, or do we
  fix them somehow?
 
  btw, only alpha and x86 seem to be providing all of those, but if you
  look into our documentation, it's said that drivers are supposed to use
  write/read{b,w,l,q} for all memory-mapped io. I'd expect all platforms
  to provide those even if just to allow compilation of drivers.
 
 Strange, AFAICS architectures that use asm-generic/io.h (blackfin, openrisc,
 score, unicore32 and xtensa) also provide those functions.

FYI, build log shows that the errors only happen for cris among all
the allyesconfig builds: 

cris-allyesconfig
parisc-allyesconfig
sparc64-allyesconfig
xtensa-allyesconfig
sparc-allyesconfig
m68k-allyesconfig
x86_64-allyesconfig
powerpc-allyesconfig
mips-allyesconfig

Thanks,
Fengguang
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [usb:usb-next 89/89] drivers/usb/host/ehci.h:662:3: error: implicit declaration of function 'readl_be'

2012-11-01 Thread Fengguang Wu
Hi Alan,

 It's hard to know which headers are needed for foreign architectures.  
 Still, I think this ought to fix the problems you found.  Can you test
 this patch?

Yes, it works. Thanks for the quick fix!

Thanks,
Fengguang

 Index: usb-3.7/drivers/usb/host/ehci-platform.c
 ===
 --- usb-3.7.orig/drivers/usb/host/ehci-platform.c
 +++ usb-3.7/drivers/usb/host/ehci-platform.c
 @@ -19,12 +19,16 @@
   * Licensed under the GNU/GPL. See COPYING for details.
   */
  #include linux/kernel.h
 +#include linux/hrtimer.h
  #include linux/module.h
  #include linux/platform_device.h
  #include linux/usb.h
  #include linux/usb/hcd.h
  #include linux/usb/ehci_pdriver.h
  
 +#include asm/byteorder.h
 +#include asm/io.h
 +
  #include ehci.h
  
  #define DRIVER_DESC EHCI generic platform driver
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [balbi-usb:i2c-transferred-bytes-on-NACK 7/9] drivers/media/i2c/adv7604.c:406:9: warning: initialization makes integer from pointer without a cast

2012-10-24 Thread Fengguang Wu
On Wed, Oct 24, 2012 at 04:37:20PM +0300, Felipe Balbi wrote:
 Hi,
 
 On Wed, Oct 24, 2012 at 09:23:23PM +0800, Fengguang Wu wrote:
  Sorry, this should really be CCed to the media list.
  I'll use the list recommended by get_maintainer.pl in future.
 
 Actually, I would suggest only testing the following branches from my
 tree:
 
 dwc3, musb, xceiv, gadget and fixes
 
 Those are my final branches, everything else is a temporary branch that
 I'm using just so I don't loose some patches, or to make it easy for
 other guys to test patches.

Balbi, thanks for the instructions. I'll limit future tests to the
above branches.

Thanks,
Fengguang
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH usb:usb-next] USB: ezusb: make some vars/funcs static

2012-09-28 Thread Fengguang Wu
On Thu, Sep 27, 2012 at 10:10:26AM -0700, Greg KH wrote:
 On Thu, Sep 27, 2012 at 02:24:13PM +0800, Fengguang Wu wrote:
  Signed-off-by: Fengguang Wu fengguang...@intel.com
  ---
   drivers/usb/misc/ezusb.c |   16 
   1 file changed, 8 insertions(+), 8 deletions(-)
  
  tree:   git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git 
  usb-next
  head:   70c048a238c780c226eb4b115ebaa908cb3b34ec
  commit: 70c048a238c780c226eb4b115ebaa908cb3b34ec [72/73] USB: ezusb: move 
  ezusb.c from drivers/usb/serial to drivers/usb/misc
  
  + drivers/usb/misc/ezusb.c:25:22: sparse: symbol 'ezusb_fx1' was not 
  declared. Should it be static?
  + drivers/usb/misc/ezusb.c:30:22: sparse: symbol 'ezusb_fx2' was not 
  declared. Should it be static?
  + drivers/usb/misc/ezusb.c:39:5: sparse: symbol 'ezusb_writememory' was not 
  declared. Should it be static?
  + drivers/usb/misc/ezusb.c:63:5: sparse: symbol 'ezusb_set_reset' was not 
  declared. Should it be static?
  + drivers/usb/misc/ezusb.c:73:5: sparse: symbol 'ezusb_fx1_set_reset' was 
  not declared. Should it be static?
  + drivers/usb/misc/ezusb.c:79:5: sparse: symbol 'ezusb_fx2_set_reset' was 
  not declared. Should it be static?
  + drivers/usb/misc/ezusb.c:147:5: sparse: symbol 
  'ezusb_fx1_ihex_firmware_download' was not declared. Should it be static?
  + drivers/usb/misc/ezusb.c:154:5: sparse: symbol 
  'ezusb_fx2_ihex_firmware_download' was not declared. Should it be static?
 
 Put all of this information (well the sparse warnings) up above in the
 changelog area of the patch, it's good to have.

OK, I'll put original error messages in changelog in future.

  @@ -36,7 +36,7 @@ struct ezusb_fx_type ezusb_fx2 = {
   #define WRITE_INT_RAM 0xA0
   #define WRITE_EXT_RAM 0xA3
   
  -int ezusb_writememory(struct usb_device *dev, int address,
  +static int ezusb_writememory(struct usb_device *dev, int address,
  unsigned char *data, int length, __u8 request)
   {
  int result;
  @@ -60,7 +60,7 @@ int ezusb_writememory(struct usb_device
   }
   EXPORT_SYMBOL_GPL(ezusb_writememory);
 
 You just marked a symbol that is exported as static?  What is going on
 here?  This can't be correct, is there a .h file somewhere that we need
 to add these exported symbols to which would fix up sparse, right?

Sorry I'm kind of too trusting the error reports -- because I know the
patch will be auto compile tested before sending out. Anyway, I added
lines to detect this EXPORT_SYMBOL* case as well. :-)

 Rene, why have functions exported that no one uses outside of the
 module?

Yeah. At least no other users in your tree head.

 As it is, I can't take this patch, sorry.

No problem.

Thanks,
Fengguang
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH usb:usb-next] USB: ezusb: make some vars/funcs static

2012-09-27 Thread Fengguang Wu
Signed-off-by: Fengguang Wu fengguang...@intel.com
---
 drivers/usb/misc/ezusb.c |   16 
 1 file changed, 8 insertions(+), 8 deletions(-)

tree:   git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-next
head:   70c048a238c780c226eb4b115ebaa908cb3b34ec
commit: 70c048a238c780c226eb4b115ebaa908cb3b34ec [72/73] USB: ezusb: move 
ezusb.c from drivers/usb/serial to drivers/usb/misc

+ drivers/usb/misc/ezusb.c:25:22: sparse: symbol 'ezusb_fx1' was not declared. 
Should it be static?
+ drivers/usb/misc/ezusb.c:30:22: sparse: symbol 'ezusb_fx2' was not declared. 
Should it be static?
+ drivers/usb/misc/ezusb.c:39:5: sparse: symbol 'ezusb_writememory' was not 
declared. Should it be static?
+ drivers/usb/misc/ezusb.c:63:5: sparse: symbol 'ezusb_set_reset' was not 
declared. Should it be static?
+ drivers/usb/misc/ezusb.c:73:5: sparse: symbol 'ezusb_fx1_set_reset' was not 
declared. Should it be static?
+ drivers/usb/misc/ezusb.c:79:5: sparse: symbol 'ezusb_fx2_set_reset' was not 
declared. Should it be static?
+ drivers/usb/misc/ezusb.c:147:5: sparse: symbol 
'ezusb_fx1_ihex_firmware_download' was not declared. Should it be static?
+ drivers/usb/misc/ezusb.c:154:5: sparse: symbol 
'ezusb_fx2_ihex_firmware_download' was not declared. Should it be static?

--- linux-next.orig/drivers/usb/misc/ezusb.c2012-09-27 14:16:27.914648701 
+0800
+++ linux-next/drivers/usb/misc/ezusb.c 2012-09-27 14:16:38.158648945 +0800
@@ -22,12 +22,12 @@ struct ezusb_fx_type {
unsigned short max_internal_adress;
 };
 
-struct ezusb_fx_type ezusb_fx1 = {
+static struct ezusb_fx_type ezusb_fx1 = {
.cpucs_reg = 0x7F92,
.max_internal_adress = 0x1B3F,
 };
 
-struct ezusb_fx_type ezusb_fx2 = {
+static struct ezusb_fx_type ezusb_fx2 = {
.cpucs_reg = 0xE600,
.max_internal_adress = 0x3FFF,
 };
@@ -36,7 +36,7 @@ struct ezusb_fx_type ezusb_fx2 = {
 #define WRITE_INT_RAM 0xA0
 #define WRITE_EXT_RAM 0xA3
 
-int ezusb_writememory(struct usb_device *dev, int address,
+static int ezusb_writememory(struct usb_device *dev, int address,
unsigned char *data, int length, __u8 request)
 {
int result;
@@ -60,7 +60,7 @@ int ezusb_writememory(struct usb_device
 }
 EXPORT_SYMBOL_GPL(ezusb_writememory);
 
-int ezusb_set_reset(struct usb_device *dev, unsigned short cpucs_reg,
+static int ezusb_set_reset(struct usb_device *dev, unsigned short cpucs_reg,
 unsigned char reset_bit)
 {
int response = ezusb_writememory(dev, cpucs_reg, reset_bit, 1, 
WRITE_INT_RAM);
@@ -70,13 +70,13 @@ int ezusb_set_reset(struct usb_device *d
return response;
 }
 
-int ezusb_fx1_set_reset(struct usb_device *dev, unsigned char reset_bit)
+static int ezusb_fx1_set_reset(struct usb_device *dev, unsigned char reset_bit)
 {
return ezusb_set_reset(dev, ezusb_fx1.cpucs_reg, reset_bit);
 }
 EXPORT_SYMBOL_GPL(ezusb_fx1_set_reset);
 
-int ezusb_fx2_set_reset(struct usb_device *dev, unsigned char reset_bit)
+static int ezusb_fx2_set_reset(struct usb_device *dev, unsigned char reset_bit)
 {
return ezusb_set_reset(dev, ezusb_fx2.cpucs_reg, reset_bit);
 }
@@ -144,14 +144,14 @@ out:
return ret;
 }
 
-int ezusb_fx1_ihex_firmware_download(struct usb_device *dev,
+static int ezusb_fx1_ihex_firmware_download(struct usb_device *dev,
 const char *firmware_path)
 {
return ezusb_ihex_firmware_download(dev, ezusb_fx1, firmware_path);
 }
 EXPORT_SYMBOL_GPL(ezusb_fx1_ihex_firmware_download);
 
-int ezusb_fx2_ihex_firmware_download(struct usb_device *dev,
+static int ezusb_fx2_ihex_firmware_download(struct usb_device *dev,
 const char *firmware_path)
 {
return ezusb_ihex_firmware_download(dev, ezusb_fx2, firmware_path);
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[usb:usb-next 25/32] drivers/usb/serial/omninet.c:165:6: warning: unused variable 'i'

2012-09-18 Thread Fengguang Wu
Hi Greg,

FYI, there are new compile warnings show up in

tree:   git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-next
head:   07764958947c381ef095fc69503c1ef1775f316e
commit: 6e03b8cecbd836f729afe1a50814544baa5e5f97 [25/32] USB: Serial: 
omninet.c: remove debug module parameter
config: x86_64-allmodconfig

All error/warnings:

drivers/usb/serial/omninet.c: In function 'omninet_read_bulk_callback':
drivers/usb/serial/omninet.c:165:6: warning: unused variable 'i' 
[-Wunused-variable]

vim +165 drivers/usb/serial/omninet.c
   155  #define OMNINET_HEADERLEN   sizeof(struct omninet_header)
   156  #define OMNINET_BULKOUTSIZE (64 - OMNINET_HEADERLEN)
   157  
   158  static void omninet_read_bulk_callback(struct urb *urb)
   159  {
   160  struct usb_serial_port  *port   = urb-context;
   161  unsigned char   *data   = urb-transfer_buffer;
   162  struct omninet_header   *header = (struct omninet_header *) 
data[0];
   163  int status = urb-status;
   164  int result;
  165  int i;
   166  
   167  if (status) {
   168  dev_dbg(port-dev, %s - nonzero read bulk status 
received: %d\n,
   169  __func__, status);
   170  return;
   171  }
   172  
   173  if (urb-actual_length  header-oh_len) {
   174  struct tty_struct *tty = tty_port_tty_get(port-port);
   175  if (tty) {

---
0-DAY kernel build testing backend Open Source Technology Centre
Fengguang Wu, Yuanhan Liu  Intel Corporation
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


usb-serial.c:1415 code aligned with following code on line 1416

2012-09-18 Thread Fengguang Wu
Hi Greg,

FYI, coccinelle warns about

drivers/usb/serial/usb-serial.c:1415:3-51: code aligned with following code on 
line 1416

vim +1415 drivers/usb/serial/usb-serial.c

  1412  /* we only set the reset_resume field if the serial_driver has 
one */
  1413  for (sd = serial_drivers; *sd; ++sd) {
  1414  if ((*sd)-reset_resume)
 1415  udriver-reset_resume = usb_serial_reset_resume;
 1416  break;
  1417  }

---
0-DAY kernel build testing backend Open Source Technology Centre
Fengguang Wu, Yuanhan Liu  Intel Corporation
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


ehci-dbg.c:656 fill_periodic_buffer() warn: variable dereferenced before check 'p.qh' (see line 599)

2012-09-13 Thread Fengguang Wu
Hi Richard,

FYI, there are new smatch warnings show up in

commit 3807e26d69b9ad3864fe03224ebebc9610d5802e
Author: Alek Du alek...@intel.com
AuthorDate: Tue Jul 14 07:23:29 2009 +0800

drivers/usb/chipidea/../host/ehci-dbg.c:656 fill_periodic_buffer() warn: 
variable dereferenced before check 'p.qh' (see line 599)

vim +656 drivers/usb/chipidea/../host/ehci-dbg.c
   596 
   597 switch (hc32_to_cpu(ehci, tag)) {
   598 case Q_TYPE_QH:
   599 hw = p.qh-hw;
...
  656  if (p.qh) {
   657  tag = Q_NEXT_TYPE(ehci, 
hw-hw_next);
   658  p = p.qh-qh_next;
   659  }
   660  break;

---
0-DAY kernel build testing backend Open Source Technology Centre
Fengguang Wu w...@linux.intel.com Intel Corporation
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[balbi-usb:merge-result-for-greg 66/99] drivers/usb/core/hub.c:2654 usb_get_hub_port_power_state() error: doing dma on the stack ((null))

2012-09-12 Thread Fengguang Wu
Hi Felipe,

FYI, there are new smatch warnings show up in

tree:   git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git 
merge-result-for-greg
head:   23953bde3e4d6aa8780dc054f6ad9882ac63f4f4
commit: e918fa161f510136fce45a524e934fe20e62c8b1 [66/99] Merge tag 
'gadget-for-v3.7' into merge-result-for-greg

drivers/usb/core/hub.c:2654 usb_get_hub_port_power_state() error: doing dma on 
the stack ((null))
drivers/usb/core/hub.c:4733 store_port_power_control() info: why not propagate 
'ret' from set_port_feature() instead of -5?
drivers/usb/core/hub.c:4744 store_port_power_control() info: why not propagate 
'ret' from clear_port_feature() instead of -5?

vim +2654 drivers/usb/core/hub.c
  2644  return ret;
  2645  }
  2646  
  2647  static int usb_get_hub_port_power_state(struct usb_device *hdev, int 
port1)
  2648  {
  2649  struct usb_hub *hub = hdev_to_hub(hdev);
  2650  struct usb_port_status data;
  2651  u16 portstatus;
  2652  int ret;
  2653  
 2654  ret = get_port_status(hub-hdev, port1, data);
  2655  if (ret  4) {
  2656  dev_err(hub-intfdev,
  2657  %s failed (err = %d)\n, __func__, ret);
  2658  if (ret = 0)
  2659  ret = -EIO;
  2660  return ret;
  2661  } else
  2662  portstatus = le16_to_cpu(data.wPortStatus);
  2663  return port_is_power_on(hub, portstatus);
  2664  }

---
0-DAY kernel build testing backend Open Source Technology Centre
Fengguang Wu w...@linux.intel.com Intel Corporation
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [balbi-usb:merge-result-for-greg 66/99] drivers/usb/core/hub.c:2654 usb_get_hub_port_power_state() error: doing dma on the stack ((null))

2012-09-12 Thread Fengguang Wu
On Wed, Sep 12, 2012 at 03:02:13PM +0300, Felipe Balbi wrote:
 Hi,
 
 On Wed, Sep 12, 2012 at 11:50:57AM +0300, Dan Carpenter wrote:
  On Wed, Sep 12, 2012 at 04:26:22PM +0800, Fengguang Wu wrote:
   Hi Felipe,
   
   FYI, there are new smatch warnings show up in
   
   tree:   git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git 
   merge-result-for-greg
   head:   23953bde3e4d6aa8780dc054f6ad9882ac63f4f4
   commit: e918fa161f510136fce45a524e934fe20e62c8b1 [66/99] Merge tag 
   'gadget-for-v3.7' into merge-result-for-greg
   
   drivers/usb/core/hub.c:2654 usb_get_hub_port_power_state() error: doing 
   dma on the stack ((null))
 
 that's not part of what I handle :-(
 
 And merge-result-for-greg was really a temporary branch, btw :-)

No problem. I'll stop testing this branch :)

Thanks,
Fengguang
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [balbi-usb:master 33/36] drivers/usb/gadget/serial.c:89:22: sparse: cast truncates bits from constant value (24000000 becomes 0)

2012-09-11 Thread Fengguang Wu
On Mon, Sep 10, 2012 at 07:05:15PM +0200, Sebastian Andrzej Siewior wrote:
 On 09/10/2012 06:40 PM, Fengguang Wu wrote:
 tree:   git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git master
 head:   d9c88901337158c9f253a7de58a10b5125d61d26
 commit: 7a7322b0a5d984025dd4faea9098b8fef07f8d8f [33/36] usb: gadget: remove 
 usb_gadget_controller_number()
 
 All sparse warnings:
 
 Once again, thank you.

You are welcome!

drivers/usb/gadget/f_acm.c:287:9: sparse: advancing past deep designator
drivers/usb/gadget/f_obex.c:60:9: sparse: advancing past deep designator
drivers/usb/gadget/f_serial.c:134:9: sparse: advancing past deep 
  designator
drivers/usb/gadget/serial.c:66:9: sparse: advancing past deep designator
 
 I don't get these. The purpose is an all NULL terminating entry. Could
 this be a sparse bug or is the [] / {} switch not really good C code?

http://marc.info/?l=linux-sparsem=130673652023059w=4

According to Dan's explanations, I'll filter out these warnings in future.

 + drivers/usb/gadget/serial.c:89:22: sparse: cast truncates bits from 
 constant value (2400 becomes 0)
 
 I've sent a patch for this.

Thank you!

Fengguang
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [balbi-usb:master 18/19] drivers/usb/musb/musb_core.c:357:21: error: 'struct usb_phy' has no member named 'state'

2012-09-05 Thread Fengguang Wu
Hi Venu,

On Thu, Sep 06, 2012 at 11:00:22AM +0530, Venu Byravarasu wrote:
 Hi Fengguang,
 
 My apologies for the inconvenience caused.
 
 During phy interface separation from otg.h, as the enum usb_otg_state
 was having multiple otg states info, I felt that should remain in otg.h.
 Also as removal of member 'state' of this enum type from usb_phy struct
 did not generate any compilation issues, I removed member state from struct 
 usb_phy.

Thank you for the quick fix!

 As this is causing build break in musb code, I pushed a patch to balbi's tree 
 for fixing this.
 Also added you as a reviewer in the to list of the patch.
 Plz verify and let me know if you still see any issues.

It should be fine if you already verified the patch with allmodconfig
build test.

When a commit tagged with 

Reported-by: Fengguang Wu fengguang...@intel.com

is pushed to the git tree, the build system will auto retest it and
send me the new success/failure results :-)

Thanks,
Fengguang

  -Original Message-
  From: Fengguang Wu [mailto:fengguang...@intel.com]
  Sent: Thursday, September 06, 2012 7:41 AM
  To: Venu Byravarasu
  Cc: kernel-janit...@vger.kernel.org; Felipe Balbi; linux-
  o...@vger.kernel.org; linux-usb@vger.kernel.org
  Subject: [balbi-usb:master 18/19] drivers/usb/musb/musb_core.c:357:21:
  error: 'struct usb_phy' has no member named 'state'
  
  Hi Venu,
  
  FYI, kernel build failed on
  
  tree:   git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git master
  head:   8de3474a41642da9dfb38208844007a48f87abce
  commit: de4217d90fed1b1714a270ceb5d092f7314e8bda [18/19] usb: otg:
  Move phy interface to separate file.
  config: x86_64-allmodconfig (attached as .config)
  
  All related error/warning messages:
  
  drivers/usb/musb/musb_core.c: In function 'musb_otg_timer_func':
  drivers/usb/musb/musb_core.c:357:21: error: 'struct usb_phy' has no
  member named 'state'
  drivers/usb/musb/musb_core.c:361:14: error: 'struct usb_phy' has no
  member named 'state'
  drivers/usb/musb/musb_core.c:366:3: error: 'struct usb_phy' has no member
  named 'state'
  drivers/usb/musb/musb_core.c:369:14: error: 'struct usb_phy' has no
  member named 'state'
  drivers/usb/musb/musb_core.c:372:3: error: 'struct usb_phy' has no member
  named 'state'
  drivers/usb/musb/musb_core.c: In function 'musb_hnp_stop':
  drivers/usb/musb/musb_core.c:388:2: error: 'struct usb_phy' has no member
  named 'state'
  drivers/usb/musb/musb_core.c:390:21: error: 'struct usb_phy' has no
  member named 'state'
  drivers/usb/musb/musb_core.c:393:3: error: 'struct usb_phy' has no member
  named 'state'
  drivers/usb/musb/musb_core.c:399:14: error: 'struct usb_phy' has no
  member named 'state'
  drivers/usb/musb/musb_core.c:407:3: error: 'struct usb_phy' has no member
  named 'state'
  drivers/usb/musb/musb_core.c: In function 'musb_stage0_irq':
  drivers/usb/musb/musb_core.c:446:3: error: 'struct usb_phy' has no member
  named 'state'
  drivers/usb/musb/musb_core.c:451:23: error: 'struct usb_phy' has no
  member named 'state'
  drivers/usb/musb/musb_core.c:474:16: error: 'struct usb_phy' has no
  member named 'state'
  drivers/usb/musb/musb_core.c:479:16: error: 'struct usb_phy' has no
  member named 'state'
  drivers/usb/musb/musb_core.c:484:5: error: 'struct usb_phy' has no member
  named 'state'
  drivers/usb/musb/musb_core.c:489:23: error: 'struct usb_phy' has no
  member named 'state'
  drivers/usb/musb/musb_core.c:492:16: error: 'struct usb_phy' has no
  member named 'state'
  drivers/usb/musb/musb_core.c:513:5: error: 'struct usb_phy' has no member
  named 'state'
  drivers/usb/musb/musb_core.c:530:3: error: 'struct usb_phy' has no member
  named 'state'
  drivers/usb/musb/musb_core.c:542:14: error: 'struct usb_phy' has no
  member named 'state'
  --
  drivers/usb/musb/musb_gadget.c: In function 'musb_gadget_wakeup':
  drivers/usb/musb/musb_gadget.c:1630:21: error: 'struct usb_phy' has no
  member named 'state'
  drivers/usb/musb/musb_gadget.c:1670:3: error: 'struct usb_phy' has no
  member named 'state'
  drivers/usb/musb/musb_gadget.c: In function 'musb_gadget_start':
  drivers/usb/musb/musb_gadget.c:1952:13: error: 'struct usb_phy' has no
  member named 'state'
  drivers/usb/musb/musb_gadget.c: In function 'musb_gadget_stop':
  drivers/usb/musb/musb_gadget.c:2063:13: error: 'struct usb_phy' has no
  member named 'state'
  drivers/usb/musb/musb_gadget.c: In function 'musb_g_resume':
  drivers/usb/musb/musb_gadget.c:2096:21: error: 'struct usb_phy' has no
  member named 'state'
  drivers/usb/musb/musb_gadget.c:2109:3: error: 'struct usb_phy' has no
  member named 'state'
  drivers/usb/musb/musb_gadget.c: In function 'musb_g_suspend':
  drivers/usb/musb/musb_gadget.c:2122:21: error: 'struct usb_phy' has no
  member named 'state'
  drivers/usb/musb/musb_gadget.c:2125:15: error: 'struct usb_phy' has no
  member named 'state'
  drivers/usb/musb/musb_gadget.c:2139:3: error: 'struct usb_phy' has no
  member named 'state'
  drivers

Re: BUG: unable to handle kernel paging request in usb_match_id()

2012-08-17 Thread Fengguang Wu
Hi Bjørn,

 -static const struct usb_device_id id_table[] __devinitconst = {
 +static const struct usb_device_id id_table[] = {

Good catch! It magically fixed the oops. So that id_table was
freed sometime with __devinitconst?

There are some more usb_device_id .* __devinitconst users in the system,
Shall they be fixed as well?

Thanks,
Fengguang
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: BUG: unable to handle kernel paging request in usb_match_id()

2012-08-17 Thread Fengguang Wu
On Fri, Aug 17, 2012 at 05:27:08PM +0800, Fengguang Wu wrote:
 Hi Bjørn,
 
  -static const struct usb_device_id id_table[] __devinitconst = {
  +static const struct usb_device_id id_table[] = {
 
 Good catch! It magically fixed the oops. So that id_table was
 freed sometime with __devinitconst?
 
 There are some more usb_device_id .* __devinitconst users in the system,
 Shall they be fixed as well?

This should be a complete list:

definitions:
static const struct usb_device_id smsusb_id_table[] __devinitconst = {
static const __devinitdata struct usb_device_id device_table[] = {
static const struct usb_device_id device_table[] __devinitconst = {
static struct usb_device_id p54u_table[] __devinitdata = {
static struct usb_device_id rtl8187_table[] __devinitdata = {
static struct usb_device_id vt6656_table[] __devinitdata = {
static const struct usb_device_id wb35_table[] __devinitconst = {
static const struct usb_device_id id_table[] __devinitconst = {

files:
drivers/media/video/gspca/jl2005bcd.c
drivers/net/wireless/p54/p54usb.c
drivers/net/wireless/rtl818x/rtl8187/dev.c
drivers/usb/misc/emi62.c
drivers/media/dvb/siano/smsusb.c
drivers/media/video/gspca/spca506.c
drivers/staging/winbond/wbusb.c
drivers/staging/vt6656/main_usb.c

Thanks,
Fengguang
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: BUG: unable to handle kernel paging request in usb_match_id()

2012-08-16 Thread Fengguang Wu
On Sun, Aug 05, 2012 at 09:58:26AM -0700, Greg KH wrote:
 On Sun, Aug 05, 2012 at 10:59:38AM +0800, Fengguang Wu wrote:
  Hi all,
  
  This line triggers an oops in kvm boot test:
  
  usb_match_id():
  ==  748 for (; id-idVendor || id-idProduct || 
  id-bDeviceClass ||
   749id-bInterfaceClass || id-driver_info; id++) {
   750 if (usb_match_one_id(interface, id))
   751 return id;
   752 }
  
  It's an old bug and happens also in linux 3.0. It's very reproducible
  for the attached config. I can send the initrd (yocto-minimal-i386.cgz)
  on your request in private email.
 
 Odds are a driver without a terminating NULL for the device id list is
 causing this to fail.
 
 What devices are in the system and what drivers are trying to be bound?

The last match is for: drivers/usb/misc/emi62.c

Located down by Tianyu's debug patch:

[2.206708] usb_device_match: device 1-1:1.0, driver cytherm
[2.207627] usb_device_match: device 1-1:1.0, driver emi62 - firmware loader
[2.208769] BUG: unable to handle kernel paging request at c1f7478e
[2.209726] IP: [c14ac1c0] usb_match_id+0x5b/0xcd

 --- a/drivers/usb/core/driver.c
 +++ b/drivers/usb/core/driver.c
 @@ -778,7 +778,8 @@ static int usb_device_match(struct device *dev, struct 
 device_driver *drv)

 intf = to_usb_interface(dev);
 usb_drv = to_usb_driver(drv);
 -
 +
 +   pr_info(%s: device %s, driver %s \n, dev_name(dev), 
 drv-name);
 id = usb_match_id(intf, usb_drv-id_table);
 if (id)
 return 1;

Thanks,
Fengguang
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html