RE: linux-next: manual merge of the rdma tree with Linus' tree
From: Parav Pandit <hidden>
Date: 2018-09-29 02:57:28
Also in:
lkml
Hi Stephen,
-----Original Message----- From: Stephen Rothwell <redacted> Sent: Thursday, September 27, 2018 7:01 PM To: Doug Ledford <redacted>; Jason Gunthorpe [off-list ref] Cc: Linux-Next Mailing List <redacted>; Linux Kernel Mailing List [off-list ref]; Parav Pandit [off-list ref] Subject: linux-next: manual merge of the rdma tree with Linus' tree Hi all, Today's linux-next merge of the rdma tree got a conflict in: drivers/infiniband/core/cache.c between commit: 5c5702e259dc ("RDMA/core: Set right entry state before releasing reference") from Linus' tree and commit: 43c7c851b9bc ("RDMA/core: Use dev_err/dbg/etc instead of pr_* + ibdev-quoted
name")from the rdma tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts.
Sorry for the late reply. For some reason mail ended up in spam folder which I noticed now. I should have watched the device naming series. My fix went to for-rc and I guess it wasn't applied to for-next which resulted into this merge conflict. My understanding is, maintainers usually try to avoid merge conflict between for-next and for-rc branches before sending pull request from rdma tree. I will try to be more careful in future to notify maintainer about it. Your changes below looks good. Thanks. Reviewed-by: Parav Pandit <redacted>
quoted hunk ↗ jump to hunk
-- Cheers, Stephen Rothwell diff --cc drivers/infiniband/core/cache.c index 3208ad6ad540,ebc64418d809..000000000000--- a/drivers/infiniband/core/cache.c +++ b/drivers/infiniband/core/cache.c@@@ -337,39 -335,6 +335,38 @@@ static int add_roce_gid(struct ib_gid_t return 0; } +/** + * del_gid - Delete GID table entry + * + * @ib_dev: IB device whose GID entry to be deleted + * @port: Port number of the IB device + * @table: GID table of the IB device for a port + * @ix: GID entry index to delete + * + */ +static void del_gid(struct ib_device *ib_dev, u8 port, + struct ib_gid_table *table, int ix) +{ + struct ib_gid_table_entry *entry; + + lockdep_assert_held(&table->lock); + - pr_debug("%s device=%s port=%d index=%d gid %pI6\n", __func__, - ib_dev->name, port, ix, - table->data_vec[ix]->attr.gid.raw); ++ dev_dbg(&ib_dev->dev, "%s port=%d index=%d gid %pI6\n", __func__, port, ++ ix, table->data_vec[ix]->attr.gid.raw); + + write_lock_irq(&table->rwlock); + entry = table->data_vec[ix]; + entry->state = GID_TABLE_ENTRY_PENDING_DEL; + /* + * For non RoCE protocol, GID entry slot is ready to use. + */ + if (!rdma_protocol_roce(ib_dev, port)) + table->data_vec[ix] = NULL; + write_unlock_irq(&table->rwlock); + + put_gid_entry_locked(entry); +} + /** * add_modify_gid - Add or modify GID table entry *