Re: [PATCH net-next v2 1/7] bnx2x: convert to use ndo_hwtstamp callbacks
From: Vadim Fedorenko <vadim.fedorenko@linux.dev>
Date: 2025-11-05 13:33:26
Also in:
linux-arm-kernel
On 05/11/2025 01:37, Jakub Kicinski wrote:
On Mon, 3 Nov 2025 15:09:46 +0000 Vadim Fedorenko wrote:quoted
-static int bnx2x_hwtstamp_ioctl(struct bnx2x *bp, struct ifreq *ifr) +static int bnx2x_hwtstamp_set(struct net_device *dev, + struct kernel_hwtstamp_config *config, + struct netlink_ext_ack *extack) { - struct hwtstamp_config config; + struct bnx2x *bp = netdev_priv(dev); int rc; - DP(BNX2X_MSG_PTP, "HWTSTAMP IOCTL called\n"); - - if (copy_from_user(&config, ifr->ifr_data, sizeof(config))) - return -EFAULT; + DP(BNX2X_MSG_PTP, "HWTSTAMP SET called\n"); DP(BNX2X_MSG_PTP, "Requested tx_type: %d, requested rx_filters = %d\n", - config.tx_type, config.rx_filter); + config->tx_type, config->rx_filter); bp->hwtstamp_ioctl_called = true; - bp->tx_type = config.tx_type; - bp->rx_filter = config.rx_filter; + bp->tx_type = config->tx_type; + bp->rx_filter = config->rx_filter; rc = bnx2x_configure_ptp_filters(bp);bnx2x_configure_ptp_filters() may return -ERANGE if settings were not applied. This may already be semi-broken but with the get in place we will make it even worse.
Ah, you mean in case of -ERANGE we will still have new filter configuration set in bp object? It's easy to fix, but it will be some kind of change of behavior. If it's acceptable, I'm happy to send v3 of the patchset.>
quoted
if (rc) return rc; - config.rx_filter = bp->rx_filter; + config->rx_filter = bp->rx_filter; + + return 0; +} - return copy_to_user(ifr->ifr_data, &config, sizeof(config)) ? - -EFAULT : 0; +static int bnx2x_hwtstamp_get(struct net_device *dev, + struct kernel_hwtstamp_config *config) +{ + struct bnx2x *bp = netdev_priv(dev); + + config->rx_filter = bp->rx_filter; + config->tx_type = bp->tx_type; + + return 0; }