• Julian Wiedmann's avatar
    s390/qeth: simplify reply object handling · 0951c6ba
    Julian Wiedmann authored
    Current code enqueues & dequeues a reply object from the waiter list
    in various places. In particular, the dequeue & enqueue in
    qeth_send_control_data_cb() looks fragile - this can cause
    qeth_clear_ipacmd_list() to skip the active object.
    Add some helpers, and boil the logic down by giving
    qeth_send_control_data() the sole responsibility to add and remove
    objects.
    
    qeth_send_control_data_cb() and qeth_clear_ipacmd_list() will now only
    notify the reply object to interrupt its wait cycle. This can cause
    a slight delay in the removal, but that's no concern.
    Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    0951c6ba
qeth_core_main.c 181 KB