ieee1394: eth1394: clean up host removal

ether1394_add_host() guarantees that hi->dev != NULL if hi != NULL.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
This commit is contained in:
Stefan Richter 2007-02-10 23:57:57 +01:00
parent 157188cb54
commit 2cd556ae61

View File

@ -655,24 +655,17 @@ static void ether1394_add_host (struct hpsb_host *host)
static void ether1394_remove_host (struct hpsb_host *host) static void ether1394_remove_host (struct hpsb_host *host)
{ {
struct eth1394_host_info *hi; struct eth1394_host_info *hi;
struct eth1394_priv *priv;
hi = hpsb_get_hostinfo(&eth1394_highlevel, host); hi = hpsb_get_hostinfo(&eth1394_highlevel, host);
if (hi != NULL) { if (!hi)
struct eth1394_priv *priv = netdev_priv(hi->dev); return;
priv = netdev_priv(hi->dev);
hpsb_unregister_addrspace(&eth1394_highlevel, host, hpsb_unregister_addrspace(&eth1394_highlevel, host, priv->local_fifo);
priv->local_fifo); if (priv->iso)
hpsb_iso_shutdown(priv->iso);
if (priv->iso != NULL) unregister_netdev(hi->dev);
hpsb_iso_shutdown(priv->iso); free_netdev(hi->dev);
if (hi->dev) {
unregister_netdev (hi->dev);
free_netdev(hi->dev);
}
}
return;
} }
/* A reset has just arisen */ /* A reset has just arisen */
@ -689,7 +682,7 @@ static void ether1394_host_reset (struct hpsb_host *host)
hi = hpsb_get_hostinfo(&eth1394_highlevel, host); hi = hpsb_get_hostinfo(&eth1394_highlevel, host);
/* This can happen for hosts that we don't use */ /* This can happen for hosts that we don't use */
if (hi == NULL) if (!hi)
return; return;
dev = hi->dev; dev = hi->dev;