be6b8bb055
The intercept queue was processing all the packets on the proxy queue. This could result in the rewrite of more than one packet being put on the overflow queue. If there are a lot of packets on the intercept queue this could result in the overflow queue having more packets than the size of the hardware queue. The code to submit the overflow queue fails if it is unable to put all the packets of the overflow on the hardware queue. This resulted in an infinite loop. It also resulted in an assert being reported that packets are being added to the overflow queue when it is not empty. Correct this by checking if the overflow queue is non-empty after rewriting each packet. If it is non-empty then stop processing additional packets. The additional packets will be processed when the barrier packet added to the hardware queue is executed due to its asyn handler. This barrier packet is added to the hardware queue whenever packets are saved on the overflow queue. Change-Id: I2537911d3c3ba1aac61a0a35f1ab97426a66b5a2