On Mon, 2 Feb 2026 07:59:55 +0000, "Loktionov, Aleksandr" wrote:
> > @@ -360,6 +362,7 @@ unsigned int igc_get_max_rss_queues(struct
> > igc_adapter *adapter); void igc_set_flag_queue_pairs(struct
> > igc_adapter *adapter,
> > const u32 max_rss_queues);
> > int igc_reinit_queues(struct igc_adapter *adapter);
> > +void igc_write_rss_key(struct igc_adapter *adapter);
> > void igc_write_rss_indir_tbl(struct igc_adapter *adapter); bool
> > igc_has_link(struct igc_adapter *adapter); void igc_reset(struct
> > igc_adapter *adapter); diff --git
> > a/drivers/net/ethernet/intel/igc/igc_ethtool.c
> > b/drivers/net/ethernet/intel/igc/igc_ethtool.c
> > index 3172cdbca9cc..1b4075e7e8e6 100644
> > --- a/drivers/net/ethernet/intel/igc/igc_ethtool.c
> > +++ b/drivers/net/ethernet/intel/igc/igc_ethtool.c
> I think here should be added include?
>
> #include <linux/unaligned.h> /* for get_unaligned_le32() */
>
> Isn't it?
Hi Alex, thank you for reviewing.
Compilation succeeds as is, and the header file is included indirectly
in the following path.
igc_ethtool.c
-> linux/if_vlan.h
-> linux/etherdevice.h
-> linux/unaligned.h
>
> > @@ -1460,6 +1460,26 @@ static int igc_ethtool_set_rxnfc(struct
> > net_device *dev,
> > }
> > }
> >=20
> > +/**
> > + * igc_write_rss_key - Program the RSS key into device registers
> > + * @adapter: board private structure
> > + *
> > + * Write the RSS key stored in adapter->rss_key to the IGC_RSSRK
> > registers.
> > + * Each 32-bit chunk of the key is read using get_unaligned_le32()
> > and
> > +written
> > + * to the appropriate register.
> > + */
> > +void igc_write_rss_key(struct igc_adapter *adapter) {
> > + struct igc_hw *hw =3D &adapter->hw;
> > + u32 val;
> > + int i;
> > +
> > + for (i =3D 0; i < IGC_RSS_KEY_SIZE / 4; i++) {
> > + val =3D get_unaligned_le32(&adapter->rss_key[i * 4]);
> > + wr32(IGC_RSSRK(i), val);
> > + }
> > +}
> > +
>
> ...
>
> > --
> > 2.51.0