diff mbox series

mt76: verify evt type in usb mcu response

Message ID 56664707fd600dc2ff49c6e845b0d573a9cf9c89.1535106415.git.lorenzo.bianconi@redhat.com (mailing list archive)
State Accepted
Commit ac5d5b3f199ed93e089754bf5d2a0a1ae6671d6d
Delegated to: Kalle Valo
Headers show
Series mt76: verify evt type in usb mcu response | expand

Commit Message

Lorenzo Bianconi Aug. 24, 2018, 10:41 a.m. UTC
Verify if evt field is set to EVT_CMD_DONE in usb mcu
response messages

Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
---
 drivers/net/wireless/mediatek/mt76/dma.h     | 10 ++++++++++
 drivers/net/wireless/mediatek/mt76/usb_mcu.c |  3 ++-
 2 files changed, 12 insertions(+), 1 deletion(-)

Comments

Kalle Valo Aug. 24, 2018, 11:33 a.m. UTC | #1
Lorenzo Bianconi <lorenzo.bianconi@redhat.com> writes:

> Verify if evt field is set to EVT_CMD_DONE in usb mcu
> response messages
>
> Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>

Does this fix a real bug or is it just a cleanup? To which tree it
should go?
Lorenzo Bianconi Aug. 24, 2018, 12:01 p.m. UTC | #2
>
> Lorenzo Bianconi <lorenzo.bianconi@redhat.com> writes:
>
> > Verify if evt field is set to EVT_CMD_DONE in usb mcu
> > response messages
> >
> > Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
>
> Does this fix a real bug or is it just a cleanup? To which tree it
> should go?

Ops sorry, I forgot to mention that is a preliminary patch for usb_mcu layer
unification between mt76x0u and mt76x2u driver. It should go to
wireless-drivers-next.

Regards,
Lorenzo

>
> --
> Kalle Valo
Kalle Valo Aug. 31, 2018, 3:54 p.m. UTC | #3
Lorenzo Bianconi <lorenzo.bianconi@redhat.com> wrote:

> Verify if evt field is set to EVT_CMD_DONE in usb mcu
> response messages. This is a preliminary patch for usb_mcu layer
> unification between mt76x0u and mt76x2u driver.
> 
> Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>

Patch applied to wireless-drivers-next.git, thanks.

ac5d5b3f199e mt76: verify evt type in usb mcu response
diff mbox series

Patch

diff --git a/drivers/net/wireless/mediatek/mt76/dma.h b/drivers/net/wireless/mediatek/mt76/dma.h
index 27248e24a19b..828e52ae70e8 100644
--- a/drivers/net/wireless/mediatek/mt76/dma.h
+++ b/drivers/net/wireless/mediatek/mt76/dma.h
@@ -75,6 +75,16 @@  enum dma_msg_port {
 	DISCARD,
 };
 
+enum mt76_mcu_evt_type {
+	EVT_CMD_DONE,
+	EVT_CMD_ERROR,
+	EVT_CMD_RETRY,
+	EVT_EVENT_PWR_RSP,
+	EVT_EVENT_WOW_RSP,
+	EVT_EVENT_CARRIER_DETECT_RSP,
+	EVT_EVENT_DFS_DETECT_RSP,
+};
+
 int mt76_dma_attach(struct mt76_dev *dev);
 void mt76_dma_cleanup(struct mt76_dev *dev);
 
diff --git a/drivers/net/wireless/mediatek/mt76/usb_mcu.c b/drivers/net/wireless/mediatek/mt76/usb_mcu.c
index 070be803d463..ebf3e7ffb26b 100644
--- a/drivers/net/wireless/mediatek/mt76/usb_mcu.c
+++ b/drivers/net/wireless/mediatek/mt76/usb_mcu.c
@@ -73,7 +73,8 @@  static int mt76u_mcu_wait_resp(struct mt76_dev *dev, u8 seq)
 		if (ret)
 			return ret;
 
-		if (seq == FIELD_GET(MT_RX_FCE_INFO_CMD_SEQ, rxfce))
+		if (seq == FIELD_GET(MT_RX_FCE_INFO_CMD_SEQ, rxfce) &&
+		    FIELD_GET(MT_RX_FCE_INFO_EVT_TYPE, rxfce) == EVT_CMD_DONE)
 			return 0;
 
 		dev_err(dev->dev, "error: MCU resp evt:%lx seq:%hhx-%lx\n",