Skip to content

Commit 4c89ff2

Browse files
LorenzoBianconiKalle Valo
authored andcommitted
mt76: split __mt76u_mcu_send_msg and mt76u_mcu_send_msg routines
Split __mt76u_mcu_send_msg and mt76u_mcu_send_msg in order to be reused by mt76x0 driver in usb mcu layer unification between mt76x0 and mt76x2u drivers Signed-off-by: Lorenzo Bianconi <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
1 parent 5090efa commit 4c89ff2

File tree

2 files changed

+20
-9
lines changed

2 files changed

+20
-9
lines changed

drivers/net/wireless/mediatek/mt76/mt76.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -623,6 +623,8 @@ int mt76u_mcu_fw_send_data(struct mt76_dev *dev, const void *data,
623623
int data_len, u32 max_payload, u32 offset);
624624
void mt76u_mcu_complete_urb(struct urb *urb);
625625
struct sk_buff *mt76u_mcu_msg_alloc(const void *data, int len);
626+
int __mt76u_mcu_send_msg(struct mt76_dev *dev, struct sk_buff *skb,
627+
int cmd, bool wait_resp);
626628
int mt76u_mcu_send_msg(struct mt76_dev *dev, struct sk_buff *skb,
627629
int cmd, bool wait_resp);
628630
void mt76u_mcu_fw_reset(struct mt76_dev *dev);

drivers/net/wireless/mediatek/mt76/usb_mcu.c

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,8 @@ static int mt76u_mcu_wait_resp(struct mt76_dev *dev, u8 seq)
8686
return -ETIMEDOUT;
8787
}
8888

89-
int mt76u_mcu_send_msg(struct mt76_dev *dev, struct sk_buff *skb,
90-
int cmd, bool wait_resp)
89+
int __mt76u_mcu_send_msg(struct mt76_dev *dev, struct sk_buff *skb,
90+
int cmd, bool wait_resp)
9191
{
9292
struct usb_interface *intf = to_usb_interface(dev->dev);
9393
struct usb_device *udev = interface_to_usbdev(intf);
@@ -100,8 +100,6 @@ int mt76u_mcu_send_msg(struct mt76_dev *dev, struct sk_buff *skb,
100100
if (test_bit(MT76_REMOVED, &dev->state))
101101
return 0;
102102

103-
mutex_lock(&usb->mcu.mutex);
104-
105103
pipe = usb_sndbulkpipe(udev, usb->out_ep[MT_EP_OUT_INBAND_CMD]);
106104
if (wait_resp) {
107105
seq = ++usb->mcu.msg_seq & 0xf;
@@ -114,22 +112,33 @@ int mt76u_mcu_send_msg(struct mt76_dev *dev, struct sk_buff *skb,
114112
MT_MCU_MSG_TYPE_CMD;
115113
ret = mt76u_skb_dma_info(skb, CPU_TX_PORT, info);
116114
if (ret)
117-
goto out;
115+
return ret;
118116

119117
ret = usb_bulk_msg(udev, pipe, skb->data, skb->len, &sent, 500);
120118
if (ret)
121-
goto out;
119+
return ret;
122120

123121
if (wait_resp)
124122
ret = mt76u_mcu_wait_resp(dev, seq);
125123

126-
out:
127-
mutex_unlock(&usb->mcu.mutex);
128-
129124
consume_skb(skb);
130125

131126
return ret;
132127
}
128+
EXPORT_SYMBOL_GPL(__mt76u_mcu_send_msg);
129+
130+
int mt76u_mcu_send_msg(struct mt76_dev *dev, struct sk_buff *skb,
131+
int cmd, bool wait_resp)
132+
{
133+
struct mt76_usb *usb = &dev->usb;
134+
int err;
135+
136+
mutex_lock(&usb->mcu.mutex);
137+
err = __mt76u_mcu_send_msg(dev, skb, cmd, wait_resp);
138+
mutex_unlock(&usb->mcu.mutex);
139+
140+
return err;
141+
}
133142
EXPORT_SYMBOL_GPL(mt76u_mcu_send_msg);
134143

135144
void mt76u_mcu_fw_reset(struct mt76_dev *dev)

0 commit comments

Comments
 (0)