• Anatolij Gustschin's avatar
    [POWERPC] Fix Oops with TQM5200 on TQM5200 · 7ea6fd7e
    Anatolij Gustschin authored
    The "bestcomm-core" driver defines its of_match table as follows
    
    static struct of_device_id mpc52xx_bcom_of_match[] = {
    	{ .type = "dma-controller", .compatible = "fsl,mpc5200-bestcomm", },
    	{ .type = "dma-controller", .compatible = "mpc5200-bestcomm", },
    	{},
    };
    
    so while registering the driver, the driver's probe function won't be
    called, because the device tree node doesn't have a device_type
    property.  Thus the driver's bcom_engine structure won't be allocated.
    Referencing this structure later causes observed Oops.
    
    Checking bcom_eng pointer for NULL before referencing data pointed
    by it prevents oopsing, but fec driver still doesn't work (because
    of the lost bestcomm match and resulted task allocation failure).
    Actually the compatible property exists and should match and so
    the fec driver should work.
    
    This removes .type = "dma-controller" from the bestcomm driver's
    mpc52xx_bcom_of_match table to solve the problem.
    Signed-off-by: default avatarAnatolij Gustschin <agust@denx.de>
    Acked-by: default avatarGrant Likely <grant.likely@secretlab.ca>
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    7ea6fd7e
bestcomm.c 13.2 KB