mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-17 01:04:19 +08:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: Staging: comedi: David doesn't want to get comedi patches Staging: rtl8187se: Fix compilation warnings and procfs directory leak Staging: rt2870: new device id Staging: w35und: unregister device from the ieee80211 stack upon ->disconnect()
This commit is contained in:
commit
a4d7749be5
@ -11,4 +11,3 @@ Please send patches to Greg Kroah-Hartman <greg@kroah.com> and
|
||||
copy:
|
||||
Ian Abbott <abbotti@mev.co.uk>
|
||||
Frank Mori Hess <fmhess@users.sourceforge.net>
|
||||
David Schleef <ds@schleef.org>
|
||||
|
@ -145,6 +145,7 @@
|
||||
{USB_DEVICE(0x0789,0x0162)}, /* Logitec */ \
|
||||
{USB_DEVICE(0x0789,0x0163)}, /* Logitec */ \
|
||||
{USB_DEVICE(0x0789,0x0164)}, /* Logitec */ \
|
||||
{USB_DEVICE(0x7392,0x7717)}, /* Edimax */ \
|
||||
{ }/* Terminating entry */ \
|
||||
}
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
||||
#define R8180H
|
||||
|
||||
|
||||
#define RTL8180_MODULE_NAME "rtl8180"
|
||||
#define RTL8180_MODULE_NAME "r8180"
|
||||
#define DMESG(x,a...) printk(KERN_INFO RTL8180_MODULE_NAME ": " x "\n", ## a)
|
||||
#define DMESGW(x,a...) printk(KERN_WARNING RTL8180_MODULE_NAME ": WW:" x "\n", ## a)
|
||||
#define DMESGE(x,a...) printk(KERN_WARNING RTL8180_MODULE_NAME ": EE:" x "\n", ## a)
|
||||
|
@ -640,11 +640,9 @@ void rtl8180_proc_init_one(struct net_device *dev)
|
||||
{
|
||||
struct proc_dir_entry *e;
|
||||
struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev);
|
||||
priv->dir_dev = create_proc_entry(dev->name,
|
||||
S_IFDIR | S_IRUGO | S_IXUGO,
|
||||
rtl8180_proc);
|
||||
priv->dir_dev = rtl8180_proc;
|
||||
if (!priv->dir_dev) {
|
||||
DMESGE("Unable to initialize /proc/net/rtl8180/%s\n",
|
||||
DMESGE("Unable to initialize /proc/net/r8180/%s\n",
|
||||
dev->name);
|
||||
return;
|
||||
}
|
||||
@ -654,7 +652,7 @@ void rtl8180_proc_init_one(struct net_device *dev)
|
||||
|
||||
if (!e) {
|
||||
DMESGE("Unable to initialize "
|
||||
"/proc/net/rtl8180/%s/stats-hw\n",
|
||||
"/proc/net/r8180/%s/stats-hw\n",
|
||||
dev->name);
|
||||
}
|
||||
|
||||
@ -663,7 +661,7 @@ void rtl8180_proc_init_one(struct net_device *dev)
|
||||
|
||||
if (!e) {
|
||||
DMESGE("Unable to initialize "
|
||||
"/proc/net/rtl8180/%s/stats-rx\n",
|
||||
"/proc/net/r8180/%s/stats-rx\n",
|
||||
dev->name);
|
||||
}
|
||||
|
||||
@ -673,7 +671,7 @@ void rtl8180_proc_init_one(struct net_device *dev)
|
||||
|
||||
if (!e) {
|
||||
DMESGE("Unable to initialize "
|
||||
"/proc/net/rtl8180/%s/stats-tx\n",
|
||||
"/proc/net/r8180/%s/stats-tx\n",
|
||||
dev->name);
|
||||
}
|
||||
#if 0
|
||||
@ -702,7 +700,7 @@ void rtl8180_proc_init_one(struct net_device *dev)
|
||||
|
||||
if (!e) {
|
||||
DMESGE("Unable to initialize "
|
||||
"/proc/net/rtl8180/%s/registers\n",
|
||||
"/proc/net/r8180/%s/registers\n",
|
||||
dev->name);
|
||||
}
|
||||
}
|
||||
@ -977,13 +975,6 @@ void check_tx_ring(struct net_device *dev, int pri)
|
||||
*tmp & (1<<15)? "ok": "err", *(tmp+4));
|
||||
}
|
||||
|
||||
DMESG("nic at %d",
|
||||
(nic-nicbegin) / 8 /4);
|
||||
DMESG("tail at %d", ((int)tail - (int)begin) /8 /4);
|
||||
DMESG("head at %d", ((int)head - (int)begin) /8 /4);
|
||||
DMESG("check free desc returns %d", check_nic_enought_desc(dev,pri));
|
||||
DMESG("free desc is %d\n", get_curr_tx_free_desc(dev,pri));
|
||||
//rtl8180_reset(dev);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1736,17 +1727,7 @@ short alloc_tx_desc_ring(struct net_device *dev, int bufsize, int count,
|
||||
* descriptor's buffer must be 256 byte aligned
|
||||
* we shouldn't be here, since we set DMA mask !
|
||||
*/
|
||||
DMESGW("Fixing TX alignment");
|
||||
desc = (u32*)((u8*)desc + 256);
|
||||
#if (defined(CONFIG_HIGHMEM64G) || defined(CONFIG_64BIT_PHYS_ADDR))
|
||||
desc = (u32*)((u64)desc &~ 0xff);
|
||||
dma_desc = (dma_addr_t)((u8*)dma_desc + 256);
|
||||
dma_desc = (dma_addr_t)((u64)dma_desc &~ 0xff);
|
||||
#else
|
||||
desc = (u32*)((u32)desc &~ 0xff);
|
||||
dma_desc = (dma_addr_t)((u8*)dma_desc + 256);
|
||||
dma_desc = (dma_addr_t)((u32)dma_desc &~ 0xff);
|
||||
#endif
|
||||
WARN(1, "DMA buffer is not aligned\n");
|
||||
}
|
||||
tmp=desc;
|
||||
for (i=0;i<count;i++)
|
||||
@ -1984,18 +1965,7 @@ short alloc_rx_desc_ring(struct net_device *dev, u16 bufsize, int count)
|
||||
* descriptor's buffer must be 256 byte aligned
|
||||
* should never happen since we specify the DMA mask
|
||||
*/
|
||||
|
||||
DMESGW("Fixing RX alignment");
|
||||
desc = (u32*)((u8*)desc + 256);
|
||||
#if (defined(CONFIG_HIGHMEM64G) || defined(CONFIG_64BIT_PHYS_ADDR))
|
||||
desc = (u32*)((u64)desc &~ 0xff);
|
||||
dma_desc = (dma_addr_t)((u8*)dma_desc + 256);
|
||||
dma_desc = (dma_addr_t)((u64)dma_desc &~ 0xff);
|
||||
#else
|
||||
desc = (u32*)((u32)desc &~ 0xff);
|
||||
dma_desc = (dma_addr_t)((u8*)dma_desc + 256);
|
||||
dma_desc = (dma_addr_t)((u32)dma_desc &~ 0xff);
|
||||
#endif
|
||||
WARN(1, "DMA buffer is not aligned\n");
|
||||
}
|
||||
|
||||
priv->rxring=desc;
|
||||
|
@ -386,7 +386,7 @@ static int wb35_probe(struct usb_interface *intf, const struct usb_device_id *id
|
||||
if (err)
|
||||
goto error_free_hw;
|
||||
|
||||
usb_set_intfdata(intf, priv);
|
||||
usb_set_intfdata(intf, dev);
|
||||
|
||||
return 0;
|
||||
|
||||
@ -415,10 +415,15 @@ static void wb35_hw_halt(struct wbsoft_priv *adapter)
|
||||
|
||||
static void wb35_disconnect(struct usb_interface *intf)
|
||||
{
|
||||
struct wbsoft_priv *priv = usb_get_intfdata(intf);
|
||||
struct ieee80211_hw *hw = usb_get_intfdata(intf);
|
||||
struct wbsoft_priv *priv = hw->priv;
|
||||
|
||||
wb35_hw_halt(priv);
|
||||
|
||||
ieee80211_stop_queues(hw);
|
||||
ieee80211_unregister_hw(hw);
|
||||
ieee80211_free_hw(hw);
|
||||
|
||||
usb_set_intfdata(intf, NULL);
|
||||
usb_put_dev(interface_to_usbdev(intf));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user