Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c4d63244 authored by Johannes Stezenbach's avatar Johannes Stezenbach Committed by John W. Linville
Browse files

rt2x00: simplify txstatus_fifo handling

parent 97e2c402
Loading
Loading
Loading
Loading
+2 −16
Original line number Diff line number Diff line
@@ -688,14 +688,7 @@ static void rt2800pci_txdone(struct rt2x00_dev *rt2x00dev)
	u32 status;
	u8 qid;

	while (!kfifo_is_empty(&rt2x00dev->txstatus_fifo)) {
		/* Now remove the tx status from the FIFO */
		if (kfifo_out(&rt2x00dev->txstatus_fifo, &status,
			      sizeof(status)) != sizeof(status)) {
			WARN_ON(1);
			break;
		}

	while (kfifo_get(&rt2x00dev->txstatus_fifo, &status)) {
		qid = rt2x00_get_field32(status, TX_STA_FIFO_PID_QUEUE);
		if (qid >= QID_RX) {
			/*
@@ -803,14 +796,7 @@ static void rt2800pci_txstatus_interrupt(struct rt2x00_dev *rt2x00dev)
		if (!rt2x00_get_field32(status, TX_STA_FIFO_VALID))
			break;

		if (kfifo_is_full(&rt2x00dev->txstatus_fifo)) {
			WARNING(rt2x00dev, "TX status FIFO overrun,"
				" drop tx status report.\n");
			break;
		}

		if (kfifo_in(&rt2x00dev->txstatus_fifo, &status,
			     sizeof(status)) != sizeof(status)) {
		if (!kfifo_put(&rt2x00dev->txstatus_fifo, &status)) {
			WARNING(rt2x00dev, "TX status FIFO overrun,"
				"drop tx status report.\n");
			break;
+1 −1
Original line number Diff line number Diff line
@@ -908,7 +908,7 @@ struct rt2x00_dev {
	/*
	 * FIFO for storing tx status reports between isr and tasklet.
	 */
	struct kfifo txstatus_fifo;
	DECLARE_KFIFO_PTR(txstatus_fifo, u32);

	/*
	 * Tasklet for processing tx status reports (rt2800pci).