From 040ba6f43a3cd519c8cf4c996fb6d6ed117e0a1a Mon Sep 17 00:00:00 2001 From: Shaun Ruffell Date: Tue, 28 May 2013 11:52:07 -0500 Subject: [PATCH] wctc4xxp: Ensure the descriptors are zeroed out on start. If system conditions prevent the card from loading the firmware without touching all the descriptors in the ring, it's possible for wctc4xxp_cleanup_descriptor_ring to attempt cleanup of a command that was never submitted resulting in the following BUG. wctc4xxp 0000:02:0a.0: Failed to load firmware. BUG: unable to handle kernel paging request at c109556c IP: [] wctc4xxp_cleanup_descriptor_ring+0x8c/0x148 [wctc4xxp] Reported-by: Xavier Carcelle Signed-off-by: Shaun Ruffell --- drivers/dahdi/wctc4xxp/base.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/dahdi/wctc4xxp/base.c b/drivers/dahdi/wctc4xxp/base.c index c88f7d7..f8eab39 100644 --- a/drivers/dahdi/wctc4xxp/base.c +++ b/drivers/dahdi/wctc4xxp/base.c @@ -866,6 +866,7 @@ wctc4xxp_initialize_descriptor_ring(struct pci_dev *pdev, memset(dr->desc, 0, (sizeof(*d) + dr->padding) * DRING_SIZE); for (i = 0; i < DRING_SIZE; ++i) { d = wctc4xxp_descriptor(dr, i); + memset(d, 0, sizeof(*d)); d->des1 = cpu_to_le32(des1); }