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