Added some fixes for the rpxlite combination of kernel and pcmcia-cs. Mostly
related to the updates for 2.3.x/2.4.x.
This commit is contained in:
parent
64dc35cae6
commit
0b5cf907dc
|
@ -69,15 +69,15 @@
|
|||
/* struct device from linux/netdevice.h */
|
||||
/* Not exactly sure when this changed.... */
|
||||
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,3,38))
|
||||
#if (LINUX_VERSION_CODE < WLAN_KVERSION(2,3,38))
|
||||
typedef struct device netdevice_t;
|
||||
#else
|
||||
typedef struct net_device netdevice_t;
|
||||
#endif
|
||||
|
||||
#ifndef _LINUX_K_COMPAT_H
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,3,1))
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,0,16))
|
||||
#if (LINUX_VERSION_CODE < WLAN_KVERSION(2,3,1))
|
||||
#if (LINUX_VERSION_CODE < WLAN_KVERSION(2,0,16))
|
||||
#define init_waitqueue_head(p) (*(p) = NULL)
|
||||
#else
|
||||
#define init_waitqueue_head(p) init_waitqueue(p)
|
||||
|
|
|
@ -590,6 +590,8 @@ typedef signed int INT;
|
|||
#define wlan_max(a, b) (((a) > (b)) ? (a) : (b))
|
||||
#define wlan_min(a, b) (((a) < (b)) ? (a) : (b))
|
||||
|
||||
#define WLAN_KVERSION(a,b,c) (((a)<<16)+((b)<<8)+(c))
|
||||
|
||||
/*=============================================================*/
|
||||
/*--- Variables -----------------------------------------------*/
|
||||
/*=============================================================*/
|
||||
|
|
|
@ -218,7 +218,7 @@ int p80211knetdev_open( netdevice_t *netdev )
|
|||
if ( wlandev->open != NULL) {
|
||||
result = (*(wlandev->open))(wlandev);
|
||||
if ( result == 0 ) {
|
||||
#if ( LINUX_VERSION_CODE < KERNEL_VERSION(2,3,43) )
|
||||
#if ( LINUX_VERSION_CODE < WLAN_KVERSION(2,3,43) )
|
||||
/* set the device flags */
|
||||
netdev->tbusy = 0;
|
||||
netdev->interrupt = 0;
|
||||
|
@ -259,7 +259,7 @@ int p80211knetdev_stop( netdevice_t *netdev )
|
|||
result = (*(wlandev->close))(wlandev);
|
||||
}
|
||||
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,3,38) )
|
||||
#if (LINUX_VERSION_CODE < WLAN_KVERSION(2,3,38) )
|
||||
/* To make sure noone tries to send us something, just force */
|
||||
/* tbusy to true */
|
||||
netdev->tbusy = 1;
|
||||
|
@ -295,7 +295,7 @@ void p80211netdev_rx(wlandevice_t *wlandev, wlan_pb_t *pb)
|
|||
|
||||
DBFENTER;
|
||||
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,3,38) )
|
||||
#if (LINUX_VERSION_CODE < WLAN_KVERSION(2,3,38) )
|
||||
if (dev->start) {
|
||||
#else
|
||||
if (dev->flags & IFF_UP ) {
|
||||
|
@ -354,7 +354,7 @@ int p80211knetdev_hard_start_xmit( struct sk_buff *skb, netdevice_t *netdev)
|
|||
|
||||
DBFENTER;
|
||||
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,3,38) )
|
||||
#if (LINUX_VERSION_CODE < WLAN_KVERSION(2,3,38) )
|
||||
if (netdev->start == 0) {
|
||||
#else
|
||||
if ((netdev->flags & IFF_UP) == 0 ) {
|
||||
|
@ -362,7 +362,7 @@ int p80211knetdev_hard_start_xmit( struct sk_buff *skb, netdevice_t *netdev)
|
|||
return 1;
|
||||
}
|
||||
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,3,38) )
|
||||
#if (LINUX_VERSION_CODE < WLAN_KVERSION(2,3,38) )
|
||||
if ( test_and_set_bit(0, (void*)&(netdev->tbusy)) != 0 ) {
|
||||
/* We've been called w/ tbusy set, has the tx */
|
||||
/* path stalled? */
|
||||
|
@ -414,7 +414,7 @@ int p80211knetdev_hard_start_xmit( struct sk_buff *skb, netdevice_t *netdev)
|
|||
if ( txresult == 0) {
|
||||
/* success and more buf */
|
||||
/* avail, re: hw_txdata */
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,3,38) )
|
||||
#if (LINUX_VERSION_CODE < WLAN_KVERSION(2,3,38) )
|
||||
netdev->tbusy = 0;
|
||||
#else
|
||||
netif_wake_queue(netdev);
|
||||
|
@ -429,7 +429,7 @@ int p80211knetdev_hard_start_xmit( struct sk_buff *skb, netdevice_t *netdev)
|
|||
} else if ( txresult == 2 ) {
|
||||
/* alloc failure, drop frame */
|
||||
WLAN_LOG_DEBUG0(3, "txframe returned alloc_fail\n");
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,3,38) )
|
||||
#if (LINUX_VERSION_CODE < WLAN_KVERSION(2,3,38) )
|
||||
netdev->tbusy = 0;
|
||||
#else
|
||||
netif_wake_queue(netdev);
|
||||
|
@ -441,7 +441,7 @@ int p80211knetdev_hard_start_xmit( struct sk_buff *skb, netdevice_t *netdev)
|
|||
} else {
|
||||
/* buffer full or queue busy */
|
||||
WLAN_LOG_DEBUG0(3, "txframe returned full or busy\n");
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,3,38) )
|
||||
#if (LINUX_VERSION_CODE < WLAN_KVERSION(2,3,38) )
|
||||
netdev->tbusy = 0;
|
||||
#else
|
||||
netif_wake_queue(netdev);
|
||||
|
@ -611,10 +611,10 @@ int wlan_setup(wlandevice_t *wlandev)
|
|||
dev->open = &p80211knetdev_open;
|
||||
dev->stop = &p80211knetdev_stop;
|
||||
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,3,38) )
|
||||
#if (LINUX_VERSION_CODE < WLAN_KVERSION(2,3,38) )
|
||||
dev->tbusy = 1;
|
||||
#endif
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,3,99) )
|
||||
#if (LINUX_VERSION_CODE < WLAN_KVERSION(2,3,99) )
|
||||
dev->name = wlandev->name;
|
||||
#endif
|
||||
ether_setup(dev);
|
||||
|
@ -698,7 +698,7 @@ int register_wlandev(wlandevice_t *wlandev)
|
|||
i = wlandev_get_index(wlandev);
|
||||
}
|
||||
|
||||
#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,99) )
|
||||
#if ( LINUX_VERSION_CODE >= WLAN_KVERSION(2,3,99) )
|
||||
strcpy(dev->name, wlandev->name);
|
||||
#endif
|
||||
|
||||
|
|
|
@ -2008,7 +2008,7 @@ void prism2sta_int_alloc(wlandevice_t *wlandev)
|
|||
txfid_push(priv, wlan_inw_le16_to_cpu(HFA384x_ALLOCFID(hw->iobase)));
|
||||
/* clear tbusy (if set) */
|
||||
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,3,38) )
|
||||
#if (LINUX_VERSION_CODE < WLAN_KVERSION(2,3,38) )
|
||||
wlandev->netdev->tbusy = 0;
|
||||
mark_bh(NET_BH);
|
||||
#else
|
||||
|
@ -2560,7 +2560,7 @@ static int prism2sta_event (event_t event, int priority, event_callback_args_t *
|
|||
link->state &= ~DEV_PRESENT;
|
||||
if (link->state & DEV_CONFIG)
|
||||
{
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,3,38) )
|
||||
#if (LINUX_VERSION_CODE < WLAN_KVERSION(2,3,38) )
|
||||
wlandev->netdev->tbusy = 1;
|
||||
wlandev->netdev->start = 0;
|
||||
#else
|
||||
|
@ -2591,7 +2591,7 @@ static int prism2sta_event (event_t event, int priority, event_callback_args_t *
|
|||
link->state |= DEV_SUSPEND;
|
||||
if (link->state & DEV_CONFIG)
|
||||
{
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,3,38) )
|
||||
#if (LINUX_VERSION_CODE < WLAN_KVERSION(2,3,38) )
|
||||
wlandev->netdev->tbusy = 1;
|
||||
wlandev->netdev->start = 0;
|
||||
#else
|
||||
|
@ -2614,7 +2614,7 @@ static int prism2sta_event (event_t event, int priority, event_callback_args_t *
|
|||
WLAN_LOG_ERROR0("MAC Initialization failed.\n");
|
||||
result = 1;
|
||||
} else {
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,3,38) )
|
||||
#if (LINUX_VERSION_CODE < WLAN_KVERSION(2,3,38) )
|
||||
wlandev->netdev->tbusy = 0;
|
||||
wlandev->netdev->start = 1;
|
||||
#else
|
||||
|
|
Loading…
Reference in a new issue