diff options
Diffstat (limited to 'net/802')
-rw-r--r-- | net/802/garp.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/802/garp.c b/net/802/garp.c index 3b78f7b74fd4..1dcb0660c49d 100644 --- a/net/802/garp.c +++ b/net/802/garp.c | |||
@@ -323,7 +323,10 @@ static void garp_attr_event(struct garp_applicant *app, | |||
323 | case GARP_ACTION_NONE: | 323 | case GARP_ACTION_NONE: |
324 | break; | 324 | break; |
325 | case GARP_ACTION_S_JOIN_IN: | 325 | case GARP_ACTION_S_JOIN_IN: |
326 | garp_pdu_append_attr(app, attr, GARP_JOIN_IN); | 326 | /* When appending the attribute fails, don't update state in |
327 | * order to retry on next TRANSMIT_PDU event. */ | ||
328 | if (garp_pdu_append_attr(app, attr, GARP_JOIN_IN) < 0) | ||
329 | return; | ||
327 | break; | 330 | break; |
328 | case GARP_ACTION_S_LEAVE_EMPTY: | 331 | case GARP_ACTION_S_LEAVE_EMPTY: |
329 | garp_pdu_append_attr(app, attr, GARP_LEAVE_EMPTY); | 332 | garp_pdu_append_attr(app, attr, GARP_LEAVE_EMPTY); |