Skip to content

Commit 56c5dab

Browse files
Jiri Slaby (SUSE)rleon
authored andcommitted
RDMA/srp: Move large values to a new enum for gcc13
Since gcc13, each member of an enum has the same type as the enum [1]. And that is inherited from its members. Provided these two: SRP_TAG_NO_REQ = ~0U, SRP_TAG_TSK_MGMT = 1U << 31 all other members are unsigned ints. Esp. with SRP_MAX_SGE and SRP_TSK_MGMT_SQ_SIZE and their use in min(), this results in the following warnings: include/linux/minmax.h:20:35: error: comparison of distinct pointer types lacks a cast drivers/infiniband/ulp/srp/ib_srp.c:563:42: note: in expansion of macro 'min' include/linux/minmax.h:20:35: error: comparison of distinct pointer types lacks a cast drivers/infiniband/ulp/srp/ib_srp.c:2369:27: note: in expansion of macro 'min' So move the large values away to a separate enum, so that they don't affect other members. [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36113 Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jiri Slaby (SUSE) <[email protected]> Reviewed-by: Bart Van Assche <[email protected]> Signed-off-by: Leon Romanovsky <[email protected]>
1 parent 1b929c0 commit 56c5dab

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

drivers/infiniband/ulp/srp/ib_srp.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,6 @@ enum {
6262
SRP_DEFAULT_CMD_SQ_SIZE = SRP_DEFAULT_QUEUE_SIZE - SRP_RSP_SQ_SIZE -
6363
SRP_TSK_MGMT_SQ_SIZE,
6464

65-
SRP_TAG_NO_REQ = ~0U,
66-
SRP_TAG_TSK_MGMT = 1U << 31,
67-
6865
SRP_MAX_PAGES_PER_MR = 512,
6966

7067
SRP_MAX_ADD_CDB_LEN = 16,
@@ -79,6 +76,11 @@ enum {
7976
sizeof(struct srp_imm_buf),
8077
};
8178

79+
enum {
80+
SRP_TAG_NO_REQ = ~0U,
81+
SRP_TAG_TSK_MGMT = BIT(31),
82+
};
83+
8284
enum srp_target_state {
8385
SRP_TARGET_SCANNING,
8486
SRP_TARGET_LIVE,

0 commit comments

Comments
 (0)