.. | .. |
---|
798 | 798 | struct j1939_sk_buff_cb *skcb; |
---|
799 | 799 | int ret = 0; |
---|
800 | 800 | |
---|
801 | | - if (flags & ~(MSG_DONTWAIT | MSG_ERRQUEUE)) |
---|
| 801 | + if (flags & ~(MSG_DONTWAIT | MSG_ERRQUEUE | MSG_CMSG_COMPAT)) |
---|
802 | 802 | return -EINVAL; |
---|
803 | 803 | |
---|
804 | 804 | if (flags & MSG_ERRQUEUE) |
---|
.. | .. |
---|
1013 | 1013 | |
---|
1014 | 1014 | void j1939_sk_send_loop_abort(struct sock *sk, int err) |
---|
1015 | 1015 | { |
---|
| 1016 | + struct j1939_sock *jsk = j1939_sk(sk); |
---|
| 1017 | + |
---|
| 1018 | + if (jsk->state & J1939_SOCK_ERRQUEUE) |
---|
| 1019 | + return; |
---|
| 1020 | + |
---|
1016 | 1021 | sk->sk_err = err; |
---|
1017 | 1022 | |
---|
1018 | 1023 | sk->sk_error_report(sk); |
---|