forked from mirrors/linux
		
	 30b605b850
			
		
	
	
		30b605b850
		
	
	
	
	
		
			
			Bus ownership is wrong when using acpi_mdiobus_register() to register an
mdio bus. That function is not inline, so when it calls
mdiobus_register() the wrong THIS_MODULE value is captured.
CC: Maxime Bizon <mbizon@freebox.fr>
Fixes: 803ca24d2f ("net: mdio: Add ACPI support code for mdio")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
		
	
			
		
			
				
	
	
		
			33 lines
		
	
	
	
		
			819 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
	
		
			819 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0-only */
 | |
| /*
 | |
|  * ACPI helper for the MDIO (Ethernet PHY) API
 | |
|  */
 | |
| 
 | |
| #ifndef __LINUX_ACPI_MDIO_H
 | |
| #define __LINUX_ACPI_MDIO_H
 | |
| 
 | |
| #include <linux/phy.h>
 | |
| 
 | |
| #if IS_ENABLED(CONFIG_ACPI_MDIO)
 | |
| int __acpi_mdiobus_register(struct mii_bus *mdio, struct fwnode_handle *fwnode,
 | |
| 			    struct module *owner);
 | |
| 
 | |
| static inline int
 | |
| acpi_mdiobus_register(struct mii_bus *mdio, struct fwnode_handle *handle)
 | |
| {
 | |
| 	return __acpi_mdiobus_register(mdio, handle, THIS_MODULE);
 | |
| }
 | |
| #else /* CONFIG_ACPI_MDIO */
 | |
| static inline int
 | |
| acpi_mdiobus_register(struct mii_bus *mdio, struct fwnode_handle *fwnode)
 | |
| {
 | |
| 	/*
 | |
| 	 * Fall back to mdiobus_register() function to register a bus.
 | |
| 	 * This way, we don't have to keep compat bits around in drivers.
 | |
| 	 */
 | |
| 
 | |
| 	return mdiobus_register(mdio);
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #endif /* __LINUX_ACPI_MDIO_H */
 |