diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/net/fc/iph5526.c linux-2.5/drivers/net/fc/iph5526.c --- bk-linus/drivers/net/fc/iph5526.c 2002-11-21 02:16:40.000000000 +0000 +++ linux-2.5/drivers/net/fc/iph5526.c 2002-11-21 17:59:37.000000000 +0000 @@ -3790,8 +3789,10 @@ struct pci_dev *pdev = NULL; sprintf(fi->name, "fc%d", count); host = scsi_register(tmpt, sizeof(struct iph5526_hostdata)); - if(host==NULL) + if(host==NULL) { + kfree(fc[count]); return no_of_hosts; + } hostdata = (struct iph5526_hostdata *)host->hostdata; memset(hostdata, 0 , sizeof(struct iph5526_hostdata));