On Tue Jul 23 2024, Brett Creeley wrote:
>> @@ -5811,11 +5815,29 @@ static void igc_watchdog_task(struct work_struct
>> *work)
>> if (adapter->flags & IGC_FLAG_HAS_MSIX) {
>> u32 eics = 0;
>>
>> - for (i = 0; i < adapter->num_q_vectors; i++)
>> - eics |= adapter->q_vector[i]->eims_value;
>> - wr32(IGC_EICS, eics);
>> + for (i = 0; i < adapter->num_q_vectors; i++) {
>> + struct igc_q_vector *q_vector = adapter->q_vector[i];
>> + struct igc_ring *rx_ring;
>> +
>> + if (!q_vector->rx.ring)
>> + continue;
>> +
>> + rx_ring =
>> adapter->rx_ring[q_vector->rx.ring->queue_index];
>> +
>> + if (test_bit(IGC_RING_FLAG_RX_ALLOC_FAILED,
>> &rx_ring->flags)) {
>> + eics |= q_vector->eims_value;
>> + clear_bit(IGC_RING_FLAG_RX_ALLOC_FAILED,
>> &rx_ring->flags);
>> + }
>
> Tiny nit, but is there a reason to not use test_and_clear_bit() here?I believe that question was answered by Sebastian on v1: https://lore.kernel.org/all/[email protected]/ Other than that no particular reason. Thanks, Kurt
signature.asc
Description: PGP signature
