hi devs,

you may have heard of maranello, a project to add
partial packet recovery to 80211, by adding block checksums
on transmit, validating them or re-requesting retransmit
of corrupted blocks.

http://www.cs.umd.edu/projects/maranello/

the code at the page is for 2.6.29-rc2

Ive applied the patches to a kernel.org tree at 2.6.29-rc2,
and then merged releases up to v3.3,
resolving conflicts and fixing compile errs as I went.

you can get it here:
https://github.com/jimc/linux-2.6/tree/maranello/merges

Ive attached this, after tagging the 3.2 merge:
git diff v3.2..maranello-3.2 > xxx-maranello.patch

I havent yet tried this patch on my wrt54g, though I plan to do so.
ATM Im running 10.03.1-rc3  iirc.
I havent flashed anything to it since, Im reluctant to brick it,
Im hoping that someone more comfortable than I will at least inspect it 1st.

FWIW, I branched v3.2.-stables, and applied openwrt patches to each.

openwrt-v3.2.1 has 66 patches applied
openwrt-v3.2.10 has 66 patches applied
openwrt-v3.2.11 has 66 patches applied
openwrt-v3.2.12 has 66 patches applied
openwrt-v3.2.13 has 66 patches applied
openwrt-v3.2.2 has 66 patches applied
openwrt -v3.2.3 has 66 patches applied
openwrt-v3.2.4 has 66 patches applied
openwrt-v3.2.5 has 66 patches applied
openwrt-v3.2.6 has 66 patches applied
openwrt-v3.2.7 has 66 patches applied
openwrt-v3.2.8 has 66 patches applied
openwrt-v3.2.9 has 66 patches applied

there are 72 patches there, so 8 didnt apply (using git apply)

openwrt-v3.2.10: failed to apply:
  
../../openwrt/trunk-45g/target/linux/brcm47xx/patches-3.2/025-mtd-bcm47xx-add-bcm47xx-part-parser.patch
  ../../openwrt/trunk-45g/target/linux/brcm47xx/patches-3.2/119-fix-boot.patch
  
../../openwrt/trunk-45g/target/linux/brcm47xx/patches-3.2/192-ssb-fix-per-path-sprom-vars.patch
  
../../openwrt/trunk-45g/target/linux/brcm47xx/patches-3.2/194-ssb-add-some-missing-sprom-attributes.patch
  
../../openwrt/trunk-45g/target/linux/brcm47xx/patches-3.2/195-bcma-export-bcma_find_core.patch
  
../../openwrt/trunk-45g/target/linux/brcm47xx/patches-3.2/196-bcma-add-support-for-sprom-not-found-on-the-device.patch
  
../../openwrt/trunk-45g/target/linux/brcm47xx/patches-3.2/000-pci-backport.patch

I didnt look into why, except to try all stable branches.
I thought maybe they were already applied to stable.
That doesnt appear to be the case.
What kernel is used for the baseline ?
Would it make sense to use ?
http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary

Also, some patches have trailing whitespace, which could be fixed by
$kerneldir/scripts/cleanpatch


FWIW, heres my branch-and-apply script:

#!/bin/bash

# 1st delete branches from previous runs
git checkout v3.2
git branch -D `git branch | grep openwrt-v`
git branch -D openwrt-3.2


branch_and_apply() {
   local t=$1
   git checkout -b openwrt-$t $t
   fails=""
   for p in ../../openwrt/trunk-45g/target/linux/brcm47xx/patches-3.2/[0-9]*
; do
       echo $p
       # scripts/cleanpatch $p
       ~/bin/git apply $p \
           && git add --all \
           && git commit -m `basename $p`
       if [ $? != 0 ]; then
           echo "$?: failed applying $p"
           fails="$fails $p"
       fi
   done
   echo "openwrt-$t: failed to apply: "
   for x in $fails; do
       echo "   $x"
   done
}

# reapply
branch_and_apply v3.2
for t in `git tag |grep -P v3.2\.[0-9]+`; do
   branch_and_apply $t
done

for b in `git branch | grep openwrt | cut -f2 -d-`; do
   lines=`git log --oneline $b..openwrt-$b | wc -l`
   echo openwrt-$b has $lines patches applied
done


thanks
Jim Cromie
 drivers/net/wireless/Makefile      |    4 +
 drivers/net/wireless/b43/Makefile  |    4 +
 drivers/net/wireless/b43/b43.h     |   50 ++++-
 drivers/net/wireless/b43/debugfs.c |  272 ++++++++++++++++++
 drivers/net/wireless/b43/debugfs.h |    1 +
 drivers/net/wireless/b43/dma.c     |   40 +++
 drivers/net/wireless/b43/main.c    |   79 ++++++
 drivers/net/wireless/b43/xmit.c    |  533 ++++++++++++++++++++++++++++++++++++
 drivers/net/wireless/b43/xmit.h    |   11 +-
 drivers/net/wireless/maranello.c   |  134 +++++++++
 drivers/net/wireless/maranello.h   |   36 +++
 11 files changed, 1160 insertions(+), 4 deletions(-)
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to