summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ieee802154/fakelb.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/drivers/net/ieee802154/fakelb.c b/drivers/net/ieee802154/fakelb.c
index 5c4fbb861eb0..d5fb77678349 100644
--- a/drivers/net/ieee802154/fakelb.c
+++ b/drivers/net/ieee802154/fakelb.c
@@ -80,20 +80,16 @@ fakelb_hw_xmit(struct ieee802154_hw *hw, struct sk_buff *skb)
{
struct fakelb_phy *current_phy = hw->priv;
struct fakelb_priv *fake = current_phy->fake;
+ struct fakelb_phy *phy;
read_lock_bh(&fake->lock);
- if (current_phy->list.next == current_phy->list.prev) {
- /* we are the only one device */
- fakelb_hw_deliver(current_phy, skb);
- } else {
- struct fakelb_phy *phy;
-
- list_for_each_entry(phy, &current_phy->fake->list, list) {
- if (current_phy != phy &&
- (phy->hw->phy->current_channel ==
- current_phy->hw->phy->current_channel))
- fakelb_hw_deliver(phy, skb);
- }
+ list_for_each_entry(phy, &current_phy->fake->list, list) {
+ if (current_phy == phy)
+ continue;
+
+ if (phy->hw->phy->current_channel ==
+ current_phy->hw->phy->current_channel)
+ fakelb_hw_deliver(phy, skb);
}
read_unlock_bh(&fake->lock);