For some reason the Ubuntu sauce upgrades the staging/at76_usb files from their 2.6.28 version to a version at some point in the 2.6.29.rcX series (where X is between 4 and 8 as far as I can tell).
Now unfortunately that upgrade introduces a bug in the at76_get_op_mode function - a variable in that function was changed to a pointer, but a place where that variable was used was not changed to go with it. The attached one-line patch fixes that - which then enables firmware to download okay.
Note that upstream have also made the same trivial fix - 2.6.29-rc8 has it corrected.
HOWEVER, I still can't get the card working yet - its just moved on past firmware loading to other issues that I have yet to resolve.
BUT I NOTE that in the upstream (i.e. mainline 2.6.29-rc8) tree, they also seem to have reverted a fairly major change originally introduced in 2.6.29 from ieee80211 to mac80211. I suspect my new problems are related to this. So I will try (not today though!) saucing up my at76_usb files to reflect upstream 2.6.29-rc8.
Alternative one could ask why the Ubuntu sauce for a 2.6.28 tree is trying to back-port 2.6.29 code for this driver. If we just stuck with whats in upstream (for 2.6.28) then we would probably be fine, as indeed Claudio's tests suggest.
For some reason the Ubuntu sauce upgrades the staging/at76_usb files from their 2.6.28 version to a version at some point in the 2.6.29.rcX series (where X is between 4 and 8 as far as I can tell).
Now unfortunately that upgrade introduces a bug in the at76_get_op_mode function - a variable in that function was changed to a pointer, but a place where that variable was used was not changed to go with it. The attached one-line patch fixes that - which then enables firmware to download okay.
Note that upstream have also made the same trivial fix - 2.6.29-rc8 has it corrected.
HOWEVER, I still can't get the card working yet - its just moved on past firmware loading to other issues that I have yet to resolve.
BUT I NOTE that in the upstream (i.e. mainline 2.6.29-rc8) tree, they also seem to have reverted a fairly major change originally introduced in 2.6.29 from ieee80211 to mac80211. I suspect my new problems are related to this. So I will try (not today though!) saucing up my at76_usb files to reflect upstream 2.6.29-rc8.
Alternative one could ask why the Ubuntu sauce for a 2.6.28 tree is trying to back-port 2.6.29 code for this driver. If we just stuck with whats in upstream (for 2.6.28) then we would probably be fine, as indeed Claudio's tests suggest.