lkml.org 
[lkml]   [2017]   [Feb]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v2 net-next 6/9] sunvnet: straighten up message event handling logic
    From
    Date
    On 2/8/2017 7:59 AM, Sowmini Varadhan wrote:
    > On (02/07/17 14:12), Shannon Nelson wrote:
    >> +
    >> + /* we don't expect any other bits */
    >> + BUG_ON(port->rx_event & ~(LDC_EVENT_DATA_READY |
    >> + LDC_EVENT_RESET |
    >> + LDC_EVENT_UP));
    >> +
    >> + /* RESET takes precedent over any other event */
    >> + if (port->rx_event & LDC_EVENT_RESET) {
    > :
    >> port->rx_event = 0;
    >> return 0;
    >> }
    >> + if (port->rx_event & LDC_EVENT_UP) {
    >> + vio_link_state_change(vio, LDC_EVENT_UP);
    >> + port->rx_event = 0;
    >> + return 0;
    >> + }
    >>
    >> err = 0;
    >> tx_wakeup = 0;
    >
    > IIRC there were timing-related situations where you can get woken up with
    > both UP and DATA_READY, and if my reading of your patch is
    > correct, we would ignore the DATA_READY, and return, right?
    >
    > --Sowmini

    The existing code does this as well - if it first finds a RESET, it
    handles it then hits the return 0. Next if it finds the UP, it does the
    goto back to the ldc_ctrl: to process, and hits the same return 0. Only
    if neither of these bits have been seen does the code move on to process
    the DATA_READY event.

    If we're seeing cases of both UP and DATA_READY, then yes we'll wnat to
    look at changing this logic. I think that should be a separate patch.

    sln




    \
     
     \ /
      Last update: 2017-02-08 17:31    [W:8.472 / U:0.344 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site