Skip to content

Commit

Permalink
[IRDA]: Use put_unaligned() in irlmp_do_discovery().
Browse files Browse the repository at this point in the history
irda_device_info->hints[] is byte aligned but is being
accessed as a u16

Based upon a patch by Luke Yang <luke.adi@gmail.com>.

Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
David S. Miller committed Jun 18, 2006
1 parent 2c6cc0d commit b293acf
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion net/irda/irlmp.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@
#include <net/irda/irlmp.h>
#include <net/irda/irlmp_frame.h>

#include <asm/unaligned.h>

static __u8 irlmp_find_free_slsap(void);
static int irlmp_slsap_inuse(__u8 slsap_sel);

Expand Down Expand Up @@ -840,6 +842,7 @@ void irlmp_do_expiry(void)
void irlmp_do_discovery(int nslots)
{
struct lap_cb *lap;
__u16 *data_hintsp;

/* Make sure the value is sane */
if ((nslots != 1) && (nslots != 6) && (nslots != 8) && (nslots != 16)){
Expand All @@ -849,7 +852,8 @@ void irlmp_do_discovery(int nslots)
}

/* Construct new discovery info to be used by IrLAP, */
u16ho(irlmp->discovery_cmd.data.hints) = irlmp->hints.word;
data_hintsp = (__u16 *) irlmp->discovery_cmd.data.hints;
put_unaligned(irlmp->hints.word, data_hintsp);

/*
* Set character set for device name (we use ASCII), and
Expand Down

0 comments on commit b293acf

Please sign in to comment.