nfp: flower: prevent offload if rhashtable insert fails
authorJohn Hurley <john.hurley@netronome.com>
Tue, 27 Nov 2018 22:04:12 +0000 (14:04 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 30 Nov 2018 21:24:56 +0000 (13:24 -0800)
commitb5f0cf08340090d1503dbdbfd797e32264974100
treeafe1a8770b06e3b00f4d81b3771515c0ca255590
parent1166494891da88af25c444e65cd4f32c3e026b46
nfp: flower: prevent offload if rhashtable insert fails

For flow offload adds, if the rhash insert code fails, the flow will still
have been offloaded but the reference to it in the driver freed.

Re-order the offload setup calls to ensure that a flow will only be written
to FW if a kernel reference is held and stored in the rhashtable. Remove
this hashtable entry if the offload fails.

Fixes: c01d0efa5136 ("nfp: flower: use rhashtable for flow caching")
Signed-off-by: John Hurley <john.hurley@netronome.com>
Reviewed-by: Pieter Jansen van Vuuren <pieter.jansenvanvuuren@netronome.com>
Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/netronome/nfp/flower/offload.c