From: "Jochen Karrer" Based on a patch from Sascha Hauer This patch fixes two bugs in the dm9000 network driver: - Don't read one byte too much in 8bit mode. - release correct resource Signed-off-by: Andrew Morton --- drivers/net/dm9000.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff -puN drivers/net/dm9000.c~dm9000-network-driver-bugfix-2 drivers/net/dm9000.c --- 25/drivers/net/dm9000.c~dm9000-network-driver-bugfix-2 2005-06-21 00:42:40.000000000 -0700 +++ 25-akpm/drivers/net/dm9000.c 2005-06-21 00:42:40.000000000 -0700 @@ -224,7 +224,7 @@ static void dm9000_outblk_32bit(void __i static void dm9000_inblk_8bit(void __iomem *reg, void *data, int count) { - readsb(reg, data, count+1); + readsb(reg, data, count); } @@ -363,8 +363,8 @@ dm9000_release_board(struct platform_dev kfree(db->data_req); } - if (db->addr_res != NULL) { - release_resource(db->data_req); + if (db->addr_req != NULL) { + release_resource(db->addr_req); kfree(db->addr_req); } } @@ -526,6 +526,7 @@ dm9000_probe(struct device *dev) if (id_val != DM9000_ID) { printk("%s: wrong id: 0x%08x\n", CARDNAME, id_val); + ret = -ENODEV; goto release; } _