From 642f6813d63afbdf68fcdde69111606f35d60f5a Mon Sep 17 00:00:00 2001 From: Ralf Baechle Date: Mon, 10 Oct 2005 14:50:36 +0100 Subject: [PATCH] --- yaml --- r: 10323 b: refs/heads/master c: 04115def6ad7ef51440365b65a7324fcb82d5d1d h: refs/heads/master i: 10321: 1c085a070660eb70e4b6bc40491662c3ddfffd43 10319: 99779c1f9c5c08aa8cb5e0bba1fc5b250187aa6a v: v3 --- [refs] | 2 +- trunk/drivers/net/sb1250-mac.c | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 3d915eb2ea63..4f62fb69dc07 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f567ef935094003ee70ea3fd10f5695d349c0f48 +refs/heads/master: 04115def6ad7ef51440365b65a7324fcb82d5d1d diff --git a/trunk/drivers/net/sb1250-mac.c b/trunk/drivers/net/sb1250-mac.c index 0f828da0339d..cb4ea4158457 100644 --- a/trunk/drivers/net/sb1250-mac.c +++ b/trunk/drivers/net/sb1250-mac.c @@ -750,7 +750,14 @@ static void sbdma_initctx(sbmacdma_t *d, d->sbdma_maxdescr = maxdescr; d->sbdma_dscrtable = (sbdmadscr_t *) - kmalloc(d->sbdma_maxdescr*sizeof(sbdmadscr_t), GFP_KERNEL); + kmalloc((d->sbdma_maxdescr+1)*sizeof(sbdmadscr_t), GFP_KERNEL); + + /* + * The descriptor table must be aligned to at least 16 bytes or the + * MAC will corrupt it. + */ + d->sbdma_dscrtable = (sbdmadscr_t *) + ALIGN((unsigned long)d->sbdma_dscrtable, sizeof(sbdmadscr_t)); memset(d->sbdma_dscrtable,0,d->sbdma_maxdescr*sizeof(sbdmadscr_t));