[SCSI] 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 <sathya.prakash@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
Prakash, Sathya 2007-07-02 17:04:10 +05:30 committed by James Bottomley
parent 0c8db6beb8
commit 57ce21bfcc
2 changed files with 14 additions and 2 deletions

View file

@ -3301,6 +3301,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 =
@ -3324,7 +3326,11 @@ mptsas_init(void)
": Registered for IOC reset notifications\n"));
}
return pci_register_driver(&mptsas_driver);
error = pci_register_driver(&mptsas_driver);
if (error)
sas_release_transport(mptsas_transport_template);
return error;
}
static void __exit

View file

@ -1524,6 +1524,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);
@ -1544,7 +1546,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;
}
/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/