Re: [RFC/PATCH] Revert "Input: wacom - add 0xE5 (MT device) support"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Jun 16, 2012 at 5:25 PM, Jonathan Nieder <jrnieder@xxxxxxxxx> wrote:
> Hi Ping,
>
> Ping Cheng wrote:
>
>> Here is an update on my testing (for hardware, I have to test to be
>> sure). The result shows driver in upstream and 3.2.20 both work with
>> TPC2FG.
>
> Again, thanks much for this.
>
> Nils (cc-ed) tested Linus's "master" branch (3.5-rc2+) this morning.
> The outcome:
>
> | I built the kernel from the git repository as you described. The tablet
> | does not work.
> |
> | lsusb -t gives:
> | Port 5: Dev 5, If 0, Class=HID, Driver=, 12M
> |
> | The dmesg output is attached. The two input files mentioned in this
> | file, which are related to the wacom tablet, are not there after
> | booting.
>
> Logs at [1].
>
> For comparison, v3.4.2 works fine.  v3.4.2 plus some unrelated
> Intuous5 support patches (9fee619505bd + f860e581fd47 + 9b5b95dd516a +
> ae584ca47328) also works fine.
>
> Nils also tested v3.4.2 plus the following patch.
>
>  f393ee2b814e Input: wacom - retrieve maximum number of touch points
>               from the HID usage table when it is supported
>
> The exact patch used is at [2].  That produced:
>
> | Linux video capture interface: v2.00
> | ------------[ cut here ]------------
> | kernel BUG at mm/slab.c:505!
> | invalid opcode: 0000 [#1] SMP
> [...]
> | Pid: 579, comm: modprobe Not tainted 3.4.2-amd64 #1 LENOVO 42992QG/42992QG
> [...]
> | Call Trace:
> |  [<ffffffff810ef84e>] ? kfree+0x50/0x6c
> |  [<ffffffffa04029cd>] ? wacom_probe+0x52c/0x957 [wacom]
> |  [<ffffffffa006866b>] ? usb_probe_interface+0xf2/0x15d [usbcore]
>
> which is "BUG_ON(!PageSlab(page))" in page_get_cache() and represents
> a free of an invalid pointer.
>
> Full log at [3].
>
> Known problem?  Any ideas for tracking it down?
>
> Thanks again and hope that helps,
> Jonathan
>
> [1] http://bugs.debian.org/677164#87
> [2] http://bugs.debian.org/677164#50
> [3] http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=77;filename=dmesg_0001;att=1;bug=677164

Its not obvious to me yet why patch [2] would cause the crash in log
[1].  The only reason I see for wacom_probe() to be calling kfree() is
in error case were its trying to unload the interface.  Since the
dmesg shows Pen loading, this is most likely crashing while processing
the Finger/touch interface.

That makes some sense because patch [2] adds logic that should only be
invoked on the touch interface.

Can you "rmmod wacom" and this run "lsusb -vvv" and email me directly
or post to debian bug report the section for Wacom?  I'd like to look
at HID report for MAXCONTACTS and other items for touch interface.  In
this part of patch [2]:

+			case HID_USAGE_CONTACTMAX:
+				wacom_retrieve_report_data(intf, features);
+				i++;
+				break;

that i++ may not be needed and may cause it to ignore an important
piece of data on this 0xE6 device.

Thats my only guess right now.  From here, you may need to sprinkle
the wacom_probe() function with a bunch of printk()'s to see exactly
which part is failing and requesting to jump to "fail1:" label.

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


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux