IPoIB: Fix hang in napi_disable() if P_Key is never found
authorRoland Dreier <rolandd@cisco.com>
Wed, 14 Jan 2009 22:55:41 +0000 (14:55 -0800)
committerRoland Dreier <rolandd@cisco.com>
Wed, 14 Jan 2009 22:55:41 +0000 (14:55 -0800)
commitb8a1b1ce14252b59b2d5c89de25b54f9bfd4cc5e
treeb3bf96fe0646bd30684391f1f9565347566cdd0c
parente0b325d310a6b11f1538413fd557d2eb98f2fae5
IPoIB: Fix hang in napi_disable() if P_Key is never found

After commit fe25c561 ("IPoIB: Don't enable NAPI when it's already
enabled"), if an interface is brought up but the corresponding P_Key
never appears, then ipoib_stop() will hang in napi_disable(), because
ipoib_open() returns before it does napi_enable().

Fix this by changing ipoib_open() to call napi_enable() even if the
P_Key isn't present.

Reported-by: Yossi Etigin <yosefe@Voltaire.COM>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/ulp/ipoib/ipoib_main.c