diff options
Diffstat (limited to 'drivers/net/wwan/iosm/iosm_ipc_wwan.c')
| -rw-r--r-- | drivers/net/wwan/iosm/iosm_ipc_wwan.c | 9 | 
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/net/wwan/iosm/iosm_ipc_wwan.c b/drivers/net/wwan/iosm/iosm_ipc_wwan.c index 27151148c782..2f1f8b5d5b59 100644 --- a/drivers/net/wwan/iosm/iosm_ipc_wwan.c +++ b/drivers/net/wwan/iosm/iosm_ipc_wwan.c @@ -103,8 +103,8 @@ static int ipc_wwan_link_stop(struct net_device *netdev)  }  /* Transmit a packet */ -static int ipc_wwan_link_transmit(struct sk_buff *skb, -				  struct net_device *netdev) +static netdev_tx_t ipc_wwan_link_transmit(struct sk_buff *skb, +					  struct net_device *netdev)  {  	struct iosm_netdev_priv *priv = wwan_netdev_drvpriv(netdev);  	struct iosm_wwan *ipc_wwan = priv->ipc_wwan; @@ -323,15 +323,16 @@ struct iosm_wwan *ipc_wwan_init(struct iosm_imem *ipc_imem, struct device *dev)  	ipc_wwan->dev = dev;  	ipc_wwan->ipc_imem = ipc_imem; +	mutex_init(&ipc_wwan->if_mutex); +  	/* WWAN core will create a netdev for the default IP MUX channel */  	if (wwan_register_ops(ipc_wwan->dev, &iosm_wwan_ops, ipc_wwan,  			      IP_MUX_SESSION_DEFAULT)) { +		mutex_destroy(&ipc_wwan->if_mutex);  		kfree(ipc_wwan);  		return NULL;  	} -	mutex_init(&ipc_wwan->if_mutex); -  	return ipc_wwan;  }  |