| .. | .. |
|---|
| 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); |
|---|