Skip to content
  • Jack Morgenstein's avatar
    IPoIB: On P_Key change event, reset state properly · 167c4265
    Jack Morgenstein authored
    
    
    In P_Key event handling, if the old P_Key is no longer available, the
    driver must call ipoib_ib_dev_stop() -- just as it does when the P_Key
    is still available (see procedure __ipoib_ib_dev_flush()).
    
    When a P_Key becomes available, the driver will perform ipoib_open(),
    which assumes that the QP is in RESET, the cm_id has been
    destroyed/deleted, etc.  If ipoib_ib_dev_stop() is not called as
    described above, then these assumptions will be false, and the attempt
    to bring the interface up will fail.
    
    Found by Mellanox QA.
    
    Signed-off-by: default avatarJack Morgenstein <jackm@dev.mellanox.co.il>
    Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
    167c4265