aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/ntb/ntb_transport.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/ntb/ntb_transport.c b/drivers/ntb/ntb_transport.c
index cd9745b062e4..583a7d3f0ce1 100644
--- a/drivers/ntb/ntb_transport.c
+++ b/drivers/ntb/ntb_transport.c
@@ -1034,11 +1034,16 @@ out:
1034static void ntb_transport_rx(unsigned long data) 1034static void ntb_transport_rx(unsigned long data)
1035{ 1035{
1036 struct ntb_transport_qp *qp = (struct ntb_transport_qp *)data; 1036 struct ntb_transport_qp *qp = (struct ntb_transport_qp *)data;
1037 int rc; 1037 int rc, i;
1038 1038
1039 do { 1039 /* Limit the number of packets processed in a single interrupt to
1040 * provide fairness to others
1041 */
1042 for (i = 0; i < qp->rx_max_entry; i++) {
1040 rc = ntb_process_rxc(qp); 1043 rc = ntb_process_rxc(qp);
1041 } while (!rc); 1044 if (rc)
1045 break;
1046 }
1042} 1047}
1043 1048
1044static void ntb_transport_rxc_db(void *data, int db_num) 1049static void ntb_transport_rxc_db(void *data, int db_num)