Commit d7cf4a3b authored by Ursula Braun's avatar Ursula Braun Committed by David S. Miller
Browse files

net/smc: fix smc_poll in SMC_INIT state



smc_poll() returns with mask bit EPOLLPRI if the connection urg_state
is SMC_URG_VALID. Since SMC_URG_VALID is zero, smc_poll signals
EPOLLPRI errorneously if called in state SMC_INIT before the connection
is created, for instance in a non-blocking connect scenario.

This patch switches to non-zero values for the urg states.

Reviewed-by: default avatarKarsten Graul <kgraul@linux.ibm.com>
Fixes: de8474eb ("net/smc: urgent data support")
Signed-off-by: default avatarUrsula Braun <ubraun@linux.ibm.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 64cc41e6
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -113,9 +113,9 @@ struct smc_host_cdc_msg { /* Connection Data Control message */
} __aligned(8);

enum smc_urg_state {
	SMC_URG_VALID,			/* data present */
	SMC_URG_NOTYET,			/* data pending */
	SMC_URG_READ			/* data was already read */
	SMC_URG_VALID	= 1,			/* data present */
	SMC_URG_NOTYET	= 2,			/* data pending */
	SMC_URG_READ	= 3,			/* data was already read */
};

struct smc_connection {