• Mintz, Yuval's avatar
    qed: Don't allocate SBs using main PTT · 85750d74
    Mintz, Yuval authored
    Flows accessing registers require the flow to hold a PTT entry.
    To protect 'major' load/unload flows a main_ptt is pre-allocated
    to guarantee such flows wouldn't be blocked by PTT being
    unavailable.
    
    Status block initialization currently uses the main_ptt which
    is incorrect, as this flow might run concurrently to others
    [E.g., loading qedr while toggling qede]. That would have dire
    effects as it means registers' access to device breaks and further
    read/writes might access incorrect addresses.
    
    Instead, when initializing status blocks acquire/release a PTT
    as part of the flow.
    Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@cavium.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    85750d74
qed_main.c 40.9 KB