diff options
Diffstat (limited to 'net/wimax/stack.c')
-rw-r--r-- | net/wimax/stack.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/net/wimax/stack.c b/net/wimax/stack.c index 3869c0327882..a0ee76b52510 100644 --- a/net/wimax/stack.c +++ b/net/wimax/stack.c | |||
@@ -163,16 +163,12 @@ int wimax_gnl_re_state_change_send( | |||
163 | struct device *dev = wimax_dev_to_dev(wimax_dev); | 163 | struct device *dev = wimax_dev_to_dev(wimax_dev); |
164 | d_fnstart(3, dev, "(wimax_dev %p report_skb %p)\n", | 164 | d_fnstart(3, dev, "(wimax_dev %p report_skb %p)\n", |
165 | wimax_dev, report_skb); | 165 | wimax_dev, report_skb); |
166 | if (report_skb == NULL) | 166 | if (report_skb == NULL) { |
167 | result = -ENOMEM; | ||
167 | goto out; | 168 | goto out; |
168 | genlmsg_end(report_skb, header); | ||
169 | result = genlmsg_multicast(report_skb, 0, wimax_gnl_mcg.id, GFP_KERNEL); | ||
170 | if (result == -ESRCH) /* Nobody connected, ignore it */ | ||
171 | result = 0; /* btw, the skb is freed already */ | ||
172 | if (result < 0) { | ||
173 | dev_err(dev, "RE_STCH: Error sending: %d\n", result); | ||
174 | nlmsg_free(report_skb); | ||
175 | } | 169 | } |
170 | genlmsg_end(report_skb, header); | ||
171 | genlmsg_multicast(report_skb, 0, wimax_gnl_mcg.id, GFP_KERNEL); | ||
176 | out: | 172 | out: |
177 | d_fnend(3, dev, "(wimax_dev %p report_skb %p) = %d\n", | 173 | d_fnend(3, dev, "(wimax_dev %p report_skb %p) = %d\n", |
178 | wimax_dev, report_skb, result); | 174 | wimax_dev, report_skb, result); |