If the driver fails partway through probing, the recovery code will call ac97_release_codec(NULL), which oopses. sound/oss/ymfpci.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) diff -puN sound/oss/ymfpci.c~ymfpci-oops-fix sound/oss/ymfpci.c --- 25/sound/oss/ymfpci.c~ymfpci-oops-fix 2003-08-18 22:27:19.000000000 -0700 +++ 25-akpm/sound/oss/ymfpci.c 2003-08-18 22:27:19.000000000 -0700 @@ -2628,7 +2628,8 @@ static int __devinit ymf_probe_one(struc out_release_region: release_mem_region(pci_resource_start(pcidev, 0), 0x8000); out_free: - ac97_release_codec(codec->ac97_codec[0]); + if (codec->ac97_codec[0]) + ac97_release_codec(codec->ac97_codec[0]); return -ENODEV; } _