• Maximilian Luz's avatar
    platform/surface: aggregator: Ignore command messages not intended for us · ae0fa0a3
    Maximilian Luz authored
    It is possible that we (the host/kernel driver) receive command messages
    that are not intended for us. Ignore those for now.
    
    The whole story is a bit more complicated: It is possible to enable
    debug output on SAM, which is sent via SSH command messages. By default
    this output is sent to a debug connector, with its own target ID
    (TID=0x03). It is possible to override the target of the debug output
    and set it to the host/kernel driver. This, however, does not change the
    original target ID of the message. Meaning, we receive messages with
    TID=0x03 (debug) but expect to only receive messages with TID=0x00
    (host).
    
    The problem is that the different target ID also comes with a different
    scope of request IDs. In particular, these do not follow the standard
    event rules (i.e. do not fall into a set of small reserved values).
    Therefore, current message handling interprets them as responses to
    pending requests and tries to match them up via the request ID. However,
    these debug output messages are not in fact responses, and therefore
    this will at best fail to find the request and at worst pass on the
    wrong data as response for a request.
    
    Therefore ignore any command messages not intended for us (host) for
    now. We can implement support for the debug messages once we have a
    better understanding of them.
    
    Note that this may also provide a bit more stability and avoid some
    driver confusion in case any other targets want to talk to us in the
    future, since we don't yet know what to do with those as well. A warning
    for the dropped messages should suffice for now and also give us a
    chance of discovering new targets if they come along without any
    potential for bugs/instabilities.
    
    Fixes: c167b9c7 ("platform/surface: Add Surface Aggregator subsystem")
    Signed-off-by: default avatarMaximilian Luz <luzmaximilian@gmail.com>
    Link: https://lore.kernel.org/r/20221202223327.690880-2-luzmaximilian@gmail.comReviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    ae0fa0a3
ssh_request_layer.c 37.4 KB