IB/core: Fix removal of default GID cache entry
authorAviv Heller <avivh@mellanox.com>
Sat, 4 Jun 2016 12:15:21 +0000 (15:15 +0300)
committerDoug Ledford <dledford@redhat.com>
Tue, 7 Jun 2016 13:50:53 +0000 (09:50 -0400)
commit8e787646fbce895c20c4433973e90af90e1c6a28
tree1065a41d5c799a15d9d0ef0d8f6af4589fe45c07
parent198b12f77084244d310888dd5d643083cb5c2aa1
IB/core: Fix removal of default GID cache entry

When deleting a default GID from the cache, its gid_type field is set
to 0.

This could set the gid_type to RoCE v1 for a RoCE v2 default GID,
essentially making it inaccessible to future modifications, since it
is no longer found by find_gid().

This fix preserves the gid_type value for default gids during cache
operations.

Fixes: b39ffa1df505 ('IB/core: Add gid_type to gid attribute')
Signed-off-by: Aviv Heller <avivh@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/core/cache.c