• Michael Ellerman's avatar
    [PATCH] iseries_veth: Make init_connection() & destroy_connection() symmetrical · ec60beeb
    Michael Ellerman authored
    This patch makes veth_init_connection() and veth_destroy_connection()
    symmetrical in that they allocate/deallocate the same data.
    
    Currently if there's an error while initialising connections (ie. ENOMEM)
    we call veth_module_cleanup(), however this will oops because we call
    driver_unregister() before we've called driver_register(). I've never seen
    this actually happen though.
    
    So instead we explicitly call veth_destroy_connection() for each connection,
    any that have been set up will be deallocated.
    
    We also fix a potential leak if vio_register_driver() fails.
    Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
    Signed-off-by: default avatarJeff Garzik <jgarzik@pobox.com>
    ec60beeb
iseries_veth.c 36.5 KB