[v5, 2/6] fsl/fman: Add FMan support
Scott Wood
scottwood at freescale.com
Fri Oct 2 13:35:06 AEST 2015
On Thu, Sep 24, 2015 at 12:10:34PM +0300, igal.liberman at freescale.com wrote:
> +int fman_get_rx_extra_headroom(void)
> +{
> + static bool fm_check_rx_extra_headroom;
> +
> + if (!fm_check_rx_extra_headroom) {
> + if (fsl_fm_rx_extra_headroom > FSL_FM_RX_EXTRA_HEADROOM_MAX ||
> + fsl_fm_rx_extra_headroom < FSL_FM_RX_EXTRA_HEADROOM_MIN) {
> + pr_warn("Invalid fsl_fm_rx_extra_headroom value (%d) in bootargs, valid range is %d-%d. Falling back to the default (%d)\n",
> + fsl_fm_rx_extra_headroom,
> + FSL_FM_RX_EXTRA_HEADROOM_MIN,
> + FSL_FM_RX_EXTRA_HEADROOM_MAX,
> + FSL_FM_RX_EXTRA_HEADROOM);
> + fsl_fm_rx_extra_headroom = FSL_FM_RX_EXTRA_HEADROOM;
> + }
> +
> + fsl_fm_rx_extra_headroom = true;
I think you mean "fm_check_rx_extra_headroom = true".
> + fsl_fm_rx_extra_headroom = ALIGN(fsl_fm_rx_extra_headroom, 16);
> + }
> +
> + return fsl_fm_rx_extra_headroom;
> +}
> +EXPORT_SYMBOL(fman_get_rx_extra_headroom);
Please just check things like this once during module init.
Init-on-first-use is unnecessarily complicated, and race-prone.
-Scott
More information about the Linuxppc-dev
mailing list