mpt fusion: deregister from transport layer if PCI registration failed
Subsystems (2)
PATCH 1/1 mpt fusion: deregister from transport layer if PCI registration failed
The mptspi and mptsas drivers are modified to deregister from transport layer if registration with PCI driver failed
Signed-off-by Sathya Prakash <[email protected]>
----------------
drivers/message/fusion/mptsas.c +7 -1
@@ -3237,6 +3237,8 @@ static struct pci_driver mptsas_driver =static int __init mptsas_init (void ) { +int error; +show_mptmod_ver (my_NAME, my_VERSION); mptsas_transport_template =
@@ -3259,8 +3261,12 @@ mptsas_init(void) dprintk((KERN_INFO MYNAM ": Registered for IOC reset notifications\n")); } + + error =pci_register_driver (&mptsas_driver); +if (error) +sas_release_transport (mptsas_transport_template); -return pci_register_driver (&mptsas_driver); +return error; }static void __exit
drivers/message/fusion/mptspi.c +7 -1
@@ -1521,6 +1521,8 @@ static struct pci_driver mptspi_driver =static int __init mptspi_init (void ) { +int error; +show_mptmod_ver (my_NAME, my_VERSION); mptspi_transport_template =spi_attach_transport (&mptspi_transport_functions);
@@ -1541,7 +1543,11 @@ mptspi_init(void) ": Registered for IOC reset notifications\n")); } -return pci_register_driver (&mptspi_driver); + error =pci_register_driver (&mptspi_driver); +if (error) +spi_release_transport (mptspi_transport_template); + +return error; }