--- a/drivers/net/wireless/ath/ar9170/usb.c +++ b/drivers/net/wireless/ath/ar9170/usb.c @@ -96,6 +96,34 @@ static struct usb_device_id ar9170_usb_i }; MODULE_DEVICE_TABLE(usb, ar9170_usb_ids); +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29)) + +#ifdef CONFIG_AR9170_USB +#include + +/** + * usb_unpoison_anchored_urbs - let an anchor be used successfully again + * @anchor: anchor the requests are bound to + * + * Reverses the effect of usb_poison_anchored_urbs + * the anchor can be used normally after it returns + */ +void usb_unpoison_anchored_urbs(struct usb_anchor *anchor) +{ + unsigned long flags; + struct urb *lazarus; + + spin_lock_irqsave(&anchor->lock, flags); + list_for_each_entry(lazarus, &anchor->urb_list, anchor_list) { + usb_unpoison_urb(lazarus); + } + //anchor->poisoned = 0; /* XXX: cannot backport */ + spin_unlock_irqrestore(&anchor->lock, flags); +} +EXPORT_SYMBOL_GPL(usb_unpoison_anchored_urbs); +#endif /* CONFIG_AR9170_USB */ + + static void ar9170_usb_submit_urb(struct ar9170_usb *aru) { struct urb *urb; --- a/net/wireless/compat-2.6.29.c +++ b/net/wireless/compat-2.6.29.c @@ -12,31 +12,7 @@ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29)) -#ifdef CONFIG_AR9170_USB -#include - -/** - * usb_unpoison_anchored_urbs - let an anchor be used successfully again - * @anchor: anchor the requests are bound to - * - * Reverses the effect of usb_poison_anchored_urbs - * the anchor can be used normally after it returns - */ -void usb_unpoison_anchored_urbs(struct usb_anchor *anchor) -{ - unsigned long flags; - struct urb *lazarus; - - spin_lock_irqsave(&anchor->lock, flags); - list_for_each_entry(lazarus, &anchor->urb_list, anchor_list) { - usb_unpoison_urb(lazarus); - } - //anchor->poisoned = 0; /* XXX: cannot backport */ - spin_unlock_irqrestore(&anchor->lock, flags); -} -EXPORT_SYMBOL_GPL(usb_unpoison_anchored_urbs); -#endif /* CONFIG_AR9170_USB */ - +/* 2.6.29 compat code goes here */ #endif /* LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29) */