diff --git a/net/smc/smc_rx.c b/net/smc/smc_rx.c index fcfac59f8b7280e81836a703a010f3a5cd541f3a..7f7e983e42b1f44a3d8089865c8c82b51fa52de4 100644 --- a/net/smc/smc_rx.c +++ b/net/smc/smc_rx.c @@ -346,12 +346,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)) {