Index: ata-raid.c =================================================================== RCS file: /private/FreeBSD/src/sys/dev/ata/ata-raid.c,v retrieving revision 1.80 diff -u -p -r1.80 ata-raid.c --- ata-raid.c 30 Jun 2004 09:22:47 -0000 1.80 +++ ata-raid.c 27 Jul 2004 20:53:00 -0000 @@ -1339,8 +1339,9 @@ ar_highpoint_write_conf(struct ar_softc free(config, M_AR); return -1; } + } else { + free(config, M_AR); } - free(config, M_AR); } return 0; } @@ -1512,6 +1513,7 @@ ar_lsi_write_conf(struct ar_softc *rdp) break; default: + free(config, M_AR); return -1; } @@ -1548,8 +1550,11 @@ ar_lsi_write_conf(struct ar_softc *rdp) sizeof(struct lsi_raid_conf), (caddr_t)config, AR_WRITE)) { printf("ar%d: LSI write conf failed\n", rdp->lun); + free(config, M_AR); return -1; } + } else { + free(config, M_AR); } } return 0; @@ -1848,8 +1853,9 @@ ar_promise_write_conf(struct ar_softc *r free(config, M_AR); return -1; } + } else { + free(config, M_AR); } - free(config, M_AR); } return 0; }