diff --git a/net/smc/smc_rx.c b/net/smc/smc_rx.c index 170b733bc736..45b0575520da 100644 --- a/net/smc/smc_rx.c +++ b/net/smc/smc_rx.c @@ -354,12 +354,12 @@ int smc_rx_recvmsg(struct smc_sock *smc, struct msghdr *msg, } break; } + if (!timeo) + return -EAGAIN; if (signal_pending(current)) { read_done = sock_intr_errno(timeo); break; } - if (!timeo) - return -EAGAIN; } if (!smc_rx_data_available(conn)) {