proskin's patches for no netlink, no install skeleton, and fix mkprintstr.

This commit is contained in:
mark 2001-12-12 18:34:01 +00:00
parent d9a43abf87
commit 4259465a1a
9 changed files with 41 additions and 5 deletions

View File

@ -42,6 +42,12 @@
* *
* -------------------------------------------------------------------- * --------------------------------------------------------------------
0.1.12 0.1.12
- proskin's patches for netlink disable when not configured in kernel,
mkprintstr fix, and turn off skeleton install. The netlink patch
pointed out something that might be the root cause of some problems
with the _cs driver. pcmcia_cs now strips the kernel CONFIG items
it cares about and puts them in it's own include/linux/config.h
(which is symlinked to include/pcmcia/config.h).
- Added mtaylor's suggested close() to do_ioctl() in wlanctl. - Added mtaylor's suggested close() to do_ioctl() in wlanctl.
- Added mkarmak's suggested change for the GL24110P device ID as - Added mkarmak's suggested change for the GL24110P device ID as
PCI_DEVICE_GL24110P_ALT and an additional item in the device table PCI_DEVICE_GL24110P_ALT and an additional item in the device table

View File

@ -370,6 +370,16 @@ if [ $PRISM2_PCMCIA = "y" ] ; then
TARGET_PCMCIA_DIR=$TARGET_ROOT_ON_HOST$PCMCIA_DIR TARGET_PCMCIA_DIR=$TARGET_ROOT_ON_HOST$PCMCIA_DIR
write_str TARGET_PCMCIA_DIR write_str TARGET_PCMCIA_DIR
$ECHO "" $ECHO ""
# Test for netlink availability in the kernel
if grep "#define.*CONFIG_NETLINK.*1" ; then
CONFIG_NETLINK=y
write_bool CONFIG_NETLINK
else
CONFIG_NETLINK=n
write_bool CONFIG_NETLINK
fi
fi fi
#======================================================================= #=======================================================================
# Alternate target install root dir - the value of this variable # Alternate target install root dir - the value of this variable

5
TODO
View File

@ -43,7 +43,10 @@
* -------------------------------------------------------------------- * --------------------------------------------------------------------
Linux WLAN NG TODO Linux WLAN NG TODO
- [CS] Need to look at the pcmcia_cs/include/linux/config.h issue.
David's overriding our include of the kernel config with his collection
of config items that pcmcia_cs cares about. Unfortunately, there's at
least one item we need (CONFIG_NETLINK) that pcmcia_cs isn't picking up.
- [USB] Integrate with usbmgr and new hotplug subsystem. - [USB] Integrate with usbmgr and new hotplug subsystem.
- [USB] Remove driver's port-reset when new primary firmware becomes - [USB] Remove driver's port-reset when new primary firmware becomes
available. available.

View File

@ -64,11 +64,13 @@
int p80211req_dorequest(wlandevice_t *wlandev, UINT8 *msgbuf); int p80211req_dorequest(wlandevice_t *wlandev, UINT8 *msgbuf);
void p80211req_confirm(wlandevice_t *wlandev); void p80211req_confirm(wlandevice_t *wlandev);
#ifdef CONFIG_NETLINK
void p80211indicate( wlandevice_t *wlandev, p80211msg_t *msg, int len); void p80211indicate( wlandevice_t *wlandev, p80211msg_t *msg, int len);
void p80211indicate_init(void); void p80211indicate_init(void);
void p80211indicate_shutdown(void); void p80211indicate_shutdown(void);
void p80211ind_mlme( wlandevice_t *wlandev, struct sk_buff *skb); void p80211ind_mlme( wlandevice_t *wlandev, struct sk_buff *skb);
void p80211ind_sniff( wlandevice_t *wlandev, struct sk_buff *skb); void p80211ind_sniff( wlandevice_t *wlandev, struct sk_buff *skb);
void p80211ind_distribution( wlandevice_t *wlandev, struct sk_buff *skb); void p80211ind_distribution( wlandevice_t *wlandev, struct sk_buff *skb);
#endif /* CONFIG_NETLINK */
#endif #endif

View File

@ -690,8 +690,8 @@ typedef signed int INT;
} else { \ } else { \
(str)[j] = '\\'; \ (str)[j] = '\\'; \
(str)[j+1] = 'x'; \ (str)[j+1] = 'x'; \
(str)[j+2] = wlan_hexchar(((str)[i] & 0xf0) >> 4); \ (str)[j+2] = wlan_hexchar(((buf)[i] & 0xf0) >> 4); \
(str)[j+3] = wlan_hexchar(((str)[i] & 0x0f)); \ (str)[j+3] = wlan_hexchar(((buf)[i] & 0x0f)); \
j += 4; \ j += 4; \
} \ } \
} \ } \

View File

@ -145,7 +145,11 @@ int init_module(void)
#endif #endif
p80211netdev_startup(); p80211netdev_startup();
#ifdef CONFIG_NETLINK
p80211indicate_init(); p80211indicate_init();
#else
#warning "CONFIG_NETLINK not enabled, not compiling sniffing/indication code"
#endif
DBFEXIT; DBFEXIT;
return 0; return 0;
@ -175,7 +179,9 @@ void cleanup_module(void)
{ {
DBFENTER; DBFENTER;
#ifdef CONFIG_NETLINK
p80211indicate_shutdown(); p80211indicate_shutdown();
#endif
printk(KERN_NOTICE "%s Unloaded\n", version); printk(KERN_NOTICE "%s Unloaded\n", version);
DBFEXIT; DBFEXIT;

View File

@ -100,15 +100,19 @@ typedef void (*timerfunc_t)(unsigned long);
/*================================================================*/ /*================================================================*/
/* Local Static Definitions */ /* Local Static Definitions */
#ifdef CONFIG_NETLINK
/* Netlink interface(s) */ /* Netlink interface(s) */
static struct sock *nl_indicate = NULL; static struct sock *nl_indicate = NULL;
#endif
/*================================================================*/ /*================================================================*/
/* Local Function Declarations */ /* Local Function Declarations */
static void p80211req_timerfunc(wlandevice_t *wlandev); static void p80211req_timerfunc(wlandevice_t *wlandev);
static void p80211req_handlemsg( wlandevice_t *wlandev, p80211msg_t *msg); static void p80211req_handlemsg( wlandevice_t *wlandev, p80211msg_t *msg);
#ifdef CONFIG_NETLINK
static void p80211ind_rx(struct sock *sk, int len); static void p80211ind_rx(struct sock *sk, int len);
#endif
/*================================================================*/ /*================================================================*/
/* Function Definitions */ /* Function Definitions */
@ -277,6 +281,7 @@ void p80211req_confirm(wlandevice_t *wlandev)
} }
#ifdef CONFIG_NETLINK
/*---------------------------------------------------------------- /*----------------------------------------------------------------
* p80211indicate_init * p80211indicate_init
* *
@ -451,3 +456,4 @@ void p80211ind_distribution( wlandevice_t *wlandev, struct sk_buff *skb)
DBFEXIT; DBFEXIT;
return; return;
} }
#endif /* CONFIG_NETLINK */

View File

@ -135,9 +135,10 @@ $(SKEL_MODULE) : $(SKEL_OBJ)
$(LD) -r -o $@ $(SKEL_OBJ) $(LD) -r -o $@ $(SKEL_OBJ)
chmod -x $@ chmod -x $@
# It's a demo. Don't actually install it.
install : $(MODULES) install : $(MODULES)
mkdir -p $(TARGET_MODDIR)/pcmcia # mkdir -p $(TARGET_MODDIR)/pcmcia
cp $(SKEL_MODULE) $(TARGET_MODDIR)/pcmcia # cp $(SKEL_MODULE) $(TARGET_MODDIR)/pcmcia
clean: clean:
rm -f .depend .depend* rm -f .depend .depend*

View File

@ -208,7 +208,9 @@ int wlanskel_mlmerequest(wlandevice_t *wlandev, p80211msg_t *msg)
ind->reasoncode.len = 4; ind->reasoncode.len = 4;
ind->reasoncode.data = 1; ind->reasoncode.data = 1;
#ifdef CONFIG_NETLINK
p80211ind_mlme(wlandev, skb); p80211ind_mlme(wlandev, skb);
#endif
return 0; return 0;
} }