Messages in this thread | | | Subject | Re: [PATCH] bt8xx: unaligned access | From | Harvey Harrison <> | Date | Tue, 20 May 2008 17:38:43 -0700 |
| |
On Wed, 2008-05-21 at 01:32 +0100, Al Viro wrote: > Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> > --- > drivers/media/video/bt8xx/bttv-cards.c | 5 +++-- > 1 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/video/bt8xx/bttv-cards.c b/drivers/media/video/bt8xx/bttv-cards.c > index f20a01c..8ef0424 100644 > --- a/drivers/media/video/bt8xx/bttv-cards.c > +++ b/drivers/media/video/bt8xx/bttv-cards.c > @@ -34,6 +34,7 @@ > #include <linux/firmware.h> > #include <net/checksum.h> > > +#include <asm/unaligned.h> > #include <asm/io.h> > > #include "bttvp.h" > @@ -3858,7 +3859,7 @@ static void __devinit osprey_eeprom(struct bttv *btv, const u8 ee[256]) > ee += i; > > /* found a valid descriptor */ > - type = be16_to_cpup((u16*)(ee+4)); > + type = get_unaligned_be16((__be16 *)(ee+4));
The casts aren't strictly necessary here. Any reason to keep it?
> > switch(type) { > /* 848 based */ > @@ -3918,7 +3919,7 @@ static void __devinit osprey_eeprom(struct bttv *btv, const u8 ee[256]) > btv->c.nr, type); > break; > } > - serial = be32_to_cpup((u32*)(ee+6)); > + serial = get_unaligned_be32((__be32 *)(ee+6));
Ditto.
Cheers,
Harvey
| |