Thread (9 messages) 9 messages, 3 authors, 2013-10-10

Re: Q: weird hidraw behaviour

From: David Herrmann <hidden>
Date: 2013-10-10 09:26:45

Hi

On Tue, Sep 24, 2013 at 10:56 AM, Mika Westerberg
[off-list ref] wrote:
Hi,

I noticed that after commit 212a871a393 (HID: hidraw: correctly deallocate
memory on device disconnect) hidraw doesn't close the underlying hid device
when the device node is closed last time.

For example I have a touch panel (HID over I2C) device with added debug
prints in i2c_hid_open()/i2c_hid_close():

        # od -x /dev/hidraw0
        [   41.363813] i2c_hid 1-004c: i2c_hid_power lvl:32
        [   41.368464] i2c_hid 1-004c: i2c_hid_set_power
        [   41.372831] i2c_hid 1-004c: __i2c_hid_command: cmd=54 01 00 08
        [   41.451455] i2c_hid 1-004c: i2c_hid_open
        ^C

        # od -x /dev/hidraw0
        [   58.420928] i2c_hid 1-004c: i2c_hid_power lvl:32
        [   58.425577] i2c_hid 1-004c: i2c_hid_set_power
        [   58.429945] i2c_hid 1-004c: __i2c_hid_command: cmd=54 01 00 08
        [   58.525276] i2c_hid 1-004c: i2c_hid_open
        ^C

i2c_hid_close() is never called. Is this intended or am I missing
something?
I don't know whether it's intentional, but it is hardcoded this way
now. Logic is, ->close() is called on hidraw_disconnect() that is,
when hidraw is unloaded on a device. It no longer depends on
user-space processes.

Any reason to change it back? It's no bug, so if no-one cares I'd
leave it as it is now. Otherwise, we can try to change it again.

Regards
David
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help