On 5/31/2023 11:22 PM, Jakub Kicinski wrote:
On Tue, 30 May 2023 16:44:51 -0700 Tony Nguyen wrote:
quoted
@@ -137,8 +210,12 @@ static int idpf_set_msg_pending_bit(struct idpf_adapter *adapter,
* previous message.
*/
while (retries) {
- if (!test_and_set_bit(IDPF_VC_MSG_PENDING, adapter->flags))
+ if ((vport && !test_and_set_bit(IDPF_VPORT_VC_MSG_PENDING,
+ vport->flags)) ||
+ (!vport && !test_and_set_bit(IDPF_VC_MSG_PENDING,
+ adapter->flags)))
break;
+
msleep(20);
retries--;
}
Please use locks. Every single Intel driver comes with gazillion flags
and endless bugs when the flags go out of sync.
Thanks for the feedback. Will use mutex lock instead of 'VC_MSG_PENDING' flag.
Regards,
Pavan