|
@@ -44,6 +44,8 @@
|
|
#include <net/irda/irlmp.h>
|
|
#include <net/irda/irlmp.h>
|
|
#include <net/irda/irlmp_frame.h>
|
|
#include <net/irda/irlmp_frame.h>
|
|
|
|
|
|
|
|
+#include <asm/unaligned.h>
|
|
|
|
+
|
|
static __u8 irlmp_find_free_slsap(void);
|
|
static __u8 irlmp_find_free_slsap(void);
|
|
static int irlmp_slsap_inuse(__u8 slsap_sel);
|
|
static int irlmp_slsap_inuse(__u8 slsap_sel);
|
|
|
|
|
|
@@ -840,6 +842,7 @@ void irlmp_do_expiry(void)
|
|
void irlmp_do_discovery(int nslots)
|
|
void irlmp_do_discovery(int nslots)
|
|
{
|
|
{
|
|
struct lap_cb *lap;
|
|
struct lap_cb *lap;
|
|
|
|
+ __u16 *data_hintsp;
|
|
|
|
|
|
/* Make sure the value is sane */
|
|
/* Make sure the value is sane */
|
|
if ((nslots != 1) && (nslots != 6) && (nslots != 8) && (nslots != 16)){
|
|
if ((nslots != 1) && (nslots != 6) && (nslots != 8) && (nslots != 16)){
|
|
@@ -849,7 +852,8 @@ void irlmp_do_discovery(int nslots)
|
|
}
|
|
}
|
|
|
|
|
|
/* Construct new discovery info to be used by IrLAP, */
|
|
/* 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
|
|
* Set character set for device name (we use ASCII), and
|