1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-08-21 22:27:43 +03:00

[kernel] cleanup trailing whitespaces in 2.6.26 patches

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11945 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
juhosg 2008-07-26 19:17:07 +00:00
parent e8f0fb4069
commit d7e87bd7cb
14 changed files with 726 additions and 623 deletions

View File

@ -35,23 +35,20 @@
+ +
if (!dev->mtd.name) if (!dev->mtd.name)
goto devinit_err; goto devinit_err;
+
+ strcpy(dev->mtd.name, mtdname);
- sprintf(dev->mtd.name, "block2mtd: %s", devname); - sprintf(dev->mtd.name, "block2mtd: %s", devname);
- + strcpy(dev->mtd.name, mtdname);
- dev->mtd.size = dev->blkdev->bd_inode->i_size & PAGE_MASK; - dev->mtd.size = dev->blkdev->bd_inode->i_size & PAGE_MASK;
+ dev->mtd.size = dev->blkdev->bd_inode->i_size & PAGE_MASK & ~(erase_size - 1); + dev->mtd.size = dev->blkdev->bd_inode->i_size & PAGE_MASK & ~(erase_size - 1);
dev->mtd.erasesize = erase_size; dev->mtd.erasesize = erase_size;
dev->mtd.writesize = 1; dev->mtd.writesize = 1;
dev->mtd.type = MTD_RAM; dev->mtd.type = MTD_RAM;
@@ -298,15 +304,18 @@ @@ -299,14 +305,17 @@
dev->mtd.read = block2mtd_read;
dev->mtd.priv = dev; dev->mtd.priv = dev;
dev->mtd.owner = THIS_MODULE; dev->mtd.owner = THIS_MODULE;
-
- if (add_mtd_device(&dev->mtd)) { - if (add_mtd_device(&dev->mtd)) {
+
+ part = kzalloc(sizeof(struct mtd_partition), GFP_KERNEL); + part = kzalloc(sizeof(struct mtd_partition), GFP_KERNEL);
+ part->name = dev->mtd.name; + part->name = dev->mtd.name;
+ part->offset = 0; + part->offset = 0;

View File

@ -866,7 +866,7 @@
dev->mtd.priv = dev; dev->mtd.priv = dev;
dev->mtd.owner = THIS_MODULE; dev->mtd.owner = THIS_MODULE;
+ dev->mtd.refresh_device = block2mtd_refresh; + dev->mtd.refresh_device = block2mtd_refresh;
part = kzalloc(sizeof(struct mtd_partition), GFP_KERNEL); part = kzalloc(sizeof(struct mtd_partition), GFP_KERNEL);
part->name = dev->mtd.name; part->name = dev->mtd.name;
--- a/drivers/mtd/mtdchar.c --- a/drivers/mtd/mtdchar.c

View File

@ -170,7 +170,7 @@
+ +
+/* Use instead of regcomp. As we expect to be seeing the same regexps over and +/* Use instead of regcomp. As we expect to be seeing the same regexps over and
+over again, it make sense to cache the results. */ +over again, it make sense to cache the results. */
+static regexp * compile_and_cache(const char * regex_string, +static regexp * compile_and_cache(const char * regex_string,
+ const char * protocol) + const char * protocol)
+{ +{
+ struct pattern_cache * node = first_pattern_cache; + struct pattern_cache * node = first_pattern_cache;
@ -227,7 +227,7 @@
+ if ( !node->pattern ) { + if ( !node->pattern ) {
+ if (net_ratelimit()) + if (net_ratelimit())
+ printk(KERN_ERR "layer7: Error compiling regexp " + printk(KERN_ERR "layer7: Error compiling regexp "
+ "\"%s\" (%s)\n", + "\"%s\" (%s)\n",
+ regex_string, protocol); + regex_string, protocol);
+ /* pattern is now cached as NULL, so we won't try again. */ + /* pattern is now cached as NULL, so we won't try again. */
+ } + }
@ -275,8 +275,8 @@
+} +}
+ +
+/* handles whether there's a match when we aren't appending data anymore */ +/* handles whether there's a match when we aren't appending data anymore */
+static int match_no_append(struct nf_conn * conntrack, +static int match_no_append(struct nf_conn * conntrack,
+ struct nf_conn * master_conntrack, + struct nf_conn * master_conntrack,
+ enum ip_conntrack_info ctinfo, + enum ip_conntrack_info ctinfo,
+ enum ip_conntrack_info master_ctinfo, + enum ip_conntrack_info master_ctinfo,
+ const struct xt_layer7_info * info) + const struct xt_layer7_info * info)
@ -286,9 +286,9 @@
+ +
+ #ifdef CONFIG_IP_NF_MATCH_LAYER7_DEBUG + #ifdef CONFIG_IP_NF_MATCH_LAYER7_DEBUG
+ if(!master_conntrack->layer7.app_proto) { + if(!master_conntrack->layer7.app_proto) {
+ char * f = + char * f =
+ friendly_print(master_conntrack->layer7.app_data); + friendly_print(master_conntrack->layer7.app_data);
+ char * g = + char * g =
+ hex_print(master_conntrack->layer7.app_data); + hex_print(master_conntrack->layer7.app_data);
+ DPRINTK("\nl7-filter gave up after %d bytes " + DPRINTK("\nl7-filter gave up after %d bytes "
+ "(%d packets):\n%s\n", + "(%d packets):\n%s\n",
@ -306,8 +306,8 @@
+ if(master_conntrack->layer7.app_proto){ + if(master_conntrack->layer7.app_proto){
+ /* Here child connections set their .app_proto (for /proc) */ + /* Here child connections set their .app_proto (for /proc) */
+ if(!conntrack->layer7.app_proto) { + if(!conntrack->layer7.app_proto) {
+ conntrack->layer7.app_proto = + conntrack->layer7.app_proto =
+ kmalloc(strlen(master_conntrack->layer7.app_proto)+1, + kmalloc(strlen(master_conntrack->layer7.app_proto)+1,
+ GFP_ATOMIC); + GFP_ATOMIC);
+ if(!conntrack->layer7.app_proto){ + if(!conntrack->layer7.app_proto){
+ if (net_ratelimit()) + if (net_ratelimit())
@ -316,17 +316,17 @@
+ "bailing.\n"); + "bailing.\n");
+ return 1; + return 1;
+ } + }
+ strcpy(conntrack->layer7.app_proto, + strcpy(conntrack->layer7.app_proto,
+ master_conntrack->layer7.app_proto); + master_conntrack->layer7.app_proto);
+ } + }
+ +
+ return (!strcmp(master_conntrack->layer7.app_proto, + return (!strcmp(master_conntrack->layer7.app_proto,
+ info->protocol)); + info->protocol));
+ } + }
+ else { + else {
+ /* If not classified, set to "unknown" to distinguish from + /* If not classified, set to "unknown" to distinguish from
+ connections that are still being tested. */ + connections that are still being tested. */
+ master_conntrack->layer7.app_proto = + master_conntrack->layer7.app_proto =
+ kmalloc(strlen("unknown")+1, GFP_ATOMIC); + kmalloc(strlen("unknown")+1, GFP_ATOMIC);
+ if(!master_conntrack->layer7.app_proto){ + if(!master_conntrack->layer7.app_proto){
+ if (net_ratelimit()) + if (net_ratelimit())
@ -346,9 +346,9 @@
+ int length = 0, i; + int length = 0, i;
+ int oldlength = master_conntrack->layer7.app_data_len; + int oldlength = master_conntrack->layer7.app_data_len;
+ +
+ /* This is a fix for a race condition by Deti Fliegl. However, I'm not + /* This is a fix for a race condition by Deti Fliegl. However, I'm not
+ clear on whether the race condition exists or whether this really + clear on whether the race condition exists or whether this really
+ fixes it. I might just be being dense... Anyway, if it's not really + fixes it. I might just be being dense... Anyway, if it's not really
+ a fix, all it does is waste a very small amount of time. */ + a fix, all it does is waste a very small amount of time. */
+ if(!master_conntrack->layer7.app_data) return 0; + if(!master_conntrack->layer7.app_data) return 0;
+ +
@ -359,7 +359,7 @@
+ if(app_data[i] != '\0') { + if(app_data[i] != '\0') {
+ /* the kernel version of tolower mungs 'upper ascii' */ + /* the kernel version of tolower mungs 'upper ascii' */
+ master_conntrack->layer7.app_data[length+oldlength] = + master_conntrack->layer7.app_data[length+oldlength] =
+ isascii(app_data[i])? + isascii(app_data[i])?
+ tolower(app_data[i]) : app_data[i]; + tolower(app_data[i]) : app_data[i];
+ length++; + length++;
+ } + }
@ -449,7 +449,7 @@
+ bool *hotdrop) + bool *hotdrop)
+{ +{
+ /* sidestep const without getting a compiler warning... */ + /* sidestep const without getting a compiler warning... */
+ struct sk_buff * skb = (struct sk_buff *)skbin; + struct sk_buff * skb = (struct sk_buff *)skbin;
+ +
+ const struct xt_layer7_info * info = matchinfo; + const struct xt_layer7_info * info = matchinfo;
+ enum ip_conntrack_info master_ctinfo, ctinfo; + enum ip_conntrack_info master_ctinfo, ctinfo;
@ -485,12 +485,12 @@
+ if(TOTAL_PACKETS > num_packets || + if(TOTAL_PACKETS > num_packets ||
+ master_conntrack->layer7.app_proto) { + master_conntrack->layer7.app_proto) {
+ +
+ pattern_result = match_no_append(conntrack, master_conntrack, + pattern_result = match_no_append(conntrack, master_conntrack,
+ ctinfo, master_ctinfo, info); + ctinfo, master_ctinfo, info);
+ +
+ /* skb->cb[0] == seen. Don't do things twice if there are + /* skb->cb[0] == seen. Don't do things twice if there are
+ multiple l7 rules. I'm not sure that using cb for this purpose + multiple l7 rules. I'm not sure that using cb for this purpose
+ is correct, even though it says "put your private variables + is correct, even though it says "put your private variables
+ there". But it doesn't look like it is being used for anything + there". But it doesn't look like it is being used for anything
+ else in the skbs that make it here. */ + else in the skbs that make it here. */
+ skb->cb[0] = 1; /* marking it seen here's probably irrelevant */ + skb->cb[0] = 1; /* marking it seen here's probably irrelevant */
@ -517,9 +517,9 @@
+ comppattern = compile_and_cache(info->pattern, info->protocol); + comppattern = compile_and_cache(info->pattern, info->protocol);
+ +
+ /* On the first packet of a connection, allocate space for app data */ + /* On the first packet of a connection, allocate space for app data */
+ if(TOTAL_PACKETS == 1 && !skb->cb[0] && + if(TOTAL_PACKETS == 1 && !skb->cb[0] &&
+ !master_conntrack->layer7.app_data){ + !master_conntrack->layer7.app_data){
+ master_conntrack->layer7.app_data = + master_conntrack->layer7.app_data =
+ kmalloc(maxdatalen, GFP_ATOMIC); + kmalloc(maxdatalen, GFP_ATOMIC);
+ if(!master_conntrack->layer7.app_data){ + if(!master_conntrack->layer7.app_data){
+ if (net_ratelimit()) + if (net_ratelimit())
@ -562,14 +562,14 @@
+ DPRINTK("layer7: matched unset: not yet classified " + DPRINTK("layer7: matched unset: not yet classified "
+ "(%d/%d packets)\n", TOTAL_PACKETS, num_packets); + "(%d/%d packets)\n", TOTAL_PACKETS, num_packets);
+ /* If the regexp failed to compile, don't bother running it */ + /* If the regexp failed to compile, don't bother running it */
+ } else if(comppattern && + } else if(comppattern &&
+ regexec(comppattern, master_conntrack->layer7.app_data)){ + regexec(comppattern, master_conntrack->layer7.app_data)){
+ DPRINTK("layer7: matched %s\n", info->protocol); + DPRINTK("layer7: matched %s\n", info->protocol);
+ pattern_result = 1; + pattern_result = 1;
+ } else pattern_result = 0; + } else pattern_result = 0;
+ +
+ if(pattern_result == 1) { + if(pattern_result == 1) {
+ master_conntrack->layer7.app_proto = + master_conntrack->layer7.app_proto =
+ kmalloc(strlen(info->protocol)+1, GFP_ATOMIC); + kmalloc(strlen(info->protocol)+1, GFP_ATOMIC);
+ if(!master_conntrack->layer7.app_proto){ + if(!master_conntrack->layer7.app_proto){
+ if (net_ratelimit()) + if (net_ratelimit())
@ -914,7 +914,7 @@
+ register int len; + register int len;
+ int flags; + int flags;
+ struct match_globals g; + struct match_globals g;
+ +
+ /* commented out by ethan + /* commented out by ethan
+ extern char *malloc(); + extern char *malloc();
+ */ + */
@ -1041,7 +1041,7 @@
+ } + }
+ +
+ /* Make a closing node, and hook it on the end. */ + /* Make a closing node, and hook it on the end. */
+ ender = regnode(g, (paren) ? CLOSE+parno : END); + ender = regnode(g, (paren) ? CLOSE+parno : END);
+ regtail(g, ret, ender); + regtail(g, ret, ender);
+ +
+ /* Hook the tails of the branches to the closing node. */ + /* Hook the tails of the branches to the closing node. */
@ -1986,7 +1986,7 @@
+ register char c; + register char c;
+ register int no; + register int no;
+ register int len; + register int len;
+ +
+ /* Not necessary and gcc doesn't like it -MLS */ + /* Not necessary and gcc doesn't like it -MLS */
+ /*extern char *strncpy();*/ + /*extern char *strncpy();*/
+ +

View File

@ -20,13 +20,12 @@
{ {
int length = 0, i; int length = 0, i;
- int oldlength = master_conntrack->layer7.app_data_len; - int oldlength = master_conntrack->layer7.app_data_len;
-
- /* This is a fix for a race condition by Deti Fliegl. However, I'm not - /* This is a fix for a race condition by Deti Fliegl. However, I'm not
- clear on whether the race condition exists or whether this really - clear on whether the race condition exists or whether this really
- fixes it. I might just be being dense... Anyway, if it's not really - fixes it. I might just be being dense... Anyway, if it's not really
- a fix, all it does is waste a very small amount of time. */ - a fix, all it does is waste a very small amount of time. */
- if(!master_conntrack->layer7.app_data) return 0; - if(!master_conntrack->layer7.app_data) return 0;
+
+ if (!target) return 0; + if (!target) return 0;
/* Strip nulls. Make everything lower case (our regex lib doesn't /* Strip nulls. Make everything lower case (our regex lib doesn't
@ -38,13 +37,13 @@
/* the kernel version of tolower mungs 'upper ascii' */ /* the kernel version of tolower mungs 'upper ascii' */
- master_conntrack->layer7.app_data[length+oldlength] = - master_conntrack->layer7.app_data[length+oldlength] =
+ target[length+offset] = + target[length+offset] =
isascii(app_data[i])? isascii(app_data[i])?
tolower(app_data[i]) : app_data[i]; tolower(app_data[i]) : app_data[i];
length++; length++;
} }
} }
+ target[length+offset] = '\0'; + target[length+offset] = '\0';
+ +
+ return length; + return length;
+} +}
@ -79,7 +78,7 @@
+ if(!info->pkt && (TOTAL_PACKETS > num_packets || + if(!info->pkt && (TOTAL_PACKETS > num_packets ||
+ master_conntrack->layer7.app_proto)) { + master_conntrack->layer7.app_proto)) {
pattern_result = match_no_append(conntrack, master_conntrack, pattern_result = match_no_append(conntrack, master_conntrack,
ctinfo, master_ctinfo, info); ctinfo, master_ctinfo, info);
@@ -473,6 +475,25 @@ @@ -473,6 +475,25 @@
/* the return value gets checked later, when we're ready to use it */ /* the return value gets checked later, when we're ready to use it */
@ -105,5 +104,5 @@
+ } + }
+ +
/* On the first packet of a connection, allocate space for app data */ /* On the first packet of a connection, allocate space for app data */
if(TOTAL_PACKETS == 1 && !skb->cb[0] && if(TOTAL_PACKETS == 1 && !skb->cb[0] &&
!master_conntrack->layer7.app_data){ !master_conntrack->layer7.app_data){

View File

@ -50,11 +50,11 @@
+ * I didn't forget anybody). I apologize again for my lack of time. + * I didn't forget anybody). I apologize again for my lack of time.
+ * + *
+ * + *
+ * 2008/06/17 - 2.6.25 - Changed imq.c to use qdisc_run() instead + * 2008/06/17 - 2.6.25 - Changed imq.c to use qdisc_run() instead
+ * of qdisc_restart() and moved qdisc_run() to tasklet to avoid + * of qdisc_restart() and moved qdisc_run() to tasklet to avoid
+ * recursive locking. New initialization routines to fix 'rmmod' not + * recursive locking. New initialization routines to fix 'rmmod' not
+ * working anymore. Used code from ifb.c. (Jussi Kivilinna) + * working anymore. Used code from ifb.c. (Jussi Kivilinna)
+ * + *
+ * Also, many thanks to pablo Sebastian Greco for making the initial + * Also, many thanks to pablo Sebastian Greco for making the initial
+ * patch and to those who helped the testing. + * patch and to those who helped the testing.
+ * + *

View File

@ -4,7 +4,7 @@
* *
* The only reason for this is efficiency, it is possible * The only reason for this is efficiency, it is possible
* to change these parameters in compile time. * to change these parameters in compile time.
+ * + *
+ * If you need to play with these values, use esfq instead. + * If you need to play with these values, use esfq instead.
*/ */
@ -60,7 +60,7 @@
+ flows. The original SFQ discipline hashes by connection; ESFQ add + flows. The original SFQ discipline hashes by connection; ESFQ add
+ several other hashing methods, such as by src IP or by dst IP, which + several other hashing methods, such as by src IP or by dst IP, which
+ can be more fair to users in some networking situations. + can be more fair to users in some networking situations.
+ +
+ To compile this code as a module, choose M here: the + To compile this code as a module, choose M here: the
+ module will be called sch_esfq. + module will be called sch_esfq.
+ +
@ -149,7 +149,7 @@
+ For more comments look at sch_sfq.c. + For more comments look at sch_sfq.c.
+ The difference is that you can change limit, depth, + The difference is that you can change limit, depth,
+ hash table size and choose alternate hash types. + hash table size and choose alternate hash types.
+ +
+ classic: same as in sch_sfq.c + classic: same as in sch_sfq.c
+ dst: destination IP address + dst: destination IP address
+ src: source IP address + src: source IP address
@ -157,8 +157,8 @@
+ ctorigdst: original destination IP address + ctorigdst: original destination IP address
+ ctorigsrc: original source IP address + ctorigsrc: original source IP address
+ ctrepldst: reply destination IP address + ctrepldst: reply destination IP address
+ ctreplsrc: reply source IP + ctreplsrc: reply source IP
+ +
+*/ +*/
+ +
+#define ESFQ_HEAD 0 +#define ESFQ_HEAD 0
@ -231,7 +231,7 @@
+ enum ip_conntrack_info ctinfo; + enum ip_conntrack_info ctinfo;
+ struct nf_conn *ct = nf_ct_get(skb, &ctinfo); + struct nf_conn *ct = nf_ct_get(skb, &ctinfo);
+#endif +#endif
+ +
+ switch (skb->protocol) { + switch (skb->protocol) {
+ case __constant_htons(ETH_P_IP): + case __constant_htons(ETH_P_IP):
+ { + {
@ -489,13 +489,13 @@
+ /* No active slots */ + /* No active slots */
+ if (q->tail == depth) + if (q->tail == depth)
+ return NULL; + return NULL;
+ +
+ a = old_a = q->next[q->tail]; + a = old_a = q->next[q->tail];
+ +
+ /* Grab packet */ + /* Grab packet */
+ skb = __skb_dequeue(&q->qs[a]); + skb = __skb_dequeue(&q->qs[a]);
+ esfq_dec(q, a); + esfq_dec(q, a);
+ +
+ /* Is the slot empty? */ + /* Is the slot empty? */
+ if (q->qs[a].qlen == 0) { + if (q->qs[a].qlen == 0) {
+ q->ht[q->hash[a]] = depth; + q->ht[q->hash[a]] = depth;
@ -511,7 +511,7 @@
+ a = q->next[a]; + a = q->next[a];
+ q->allot[a] += q->quantum; + q->allot[a] += q->quantum;
+ } + }
+ +
+ return skb; + return skb;
+} +}
+ +
@ -601,13 +601,13 @@
+ } + }
+ } + }
+} +}
+ +
+static int esfq_q_init(struct esfq_sched_data *q, struct rtattr *opt) +static int esfq_q_init(struct esfq_sched_data *q, struct rtattr *opt)
+{ +{
+ struct tc_esfq_qopt *ctl = RTA_DATA(opt); + struct tc_esfq_qopt *ctl = RTA_DATA(opt);
+ esfq_index p = ~0U/2; + esfq_index p = ~0U/2;
+ int i; + int i;
+ +
+ if (opt && opt->rta_len < RTA_LENGTH(sizeof(*ctl))) + if (opt && opt->rta_len < RTA_LENGTH(sizeof(*ctl)))
+ return -EINVAL; + return -EINVAL;
+ +
@ -618,7 +618,7 @@
+ q->perturb_period = 0; + q->perturb_period = 0;
+ q->hash_divisor = 1024; + q->hash_divisor = 1024;
+ q->tail = q->limit = q->depth = 128; + q->tail = q->limit = q->depth = 128;
+ +
+ } else { + } else {
+ struct tc_esfq_qopt *ctl = RTA_DATA(opt); + struct tc_esfq_qopt *ctl = RTA_DATA(opt);
+ if (ctl->quantum) + if (ctl->quantum)
@ -626,18 +626,18 @@
+ q->perturb_period = ctl->perturb_period*HZ; + q->perturb_period = ctl->perturb_period*HZ;
+ q->hash_divisor = ctl->divisor ? : 1024; + q->hash_divisor = ctl->divisor ? : 1024;
+ q->tail = q->limit = q->depth = ctl->flows ? : 128; + q->tail = q->limit = q->depth = ctl->flows ? : 128;
+ +
+ if ( q->depth > p - 1 ) + if ( q->depth > p - 1 )
+ return -EINVAL; + return -EINVAL;
+ +
+ if (ctl->limit) + if (ctl->limit)
+ q->limit = min_t(u32, ctl->limit, q->depth); + q->limit = min_t(u32, ctl->limit, q->depth);
+ +
+ if (ctl->hash_kind) { + if (ctl->hash_kind) {
+ q->hash_kind = esfq_check_hash(ctl->hash_kind); + q->hash_kind = esfq_check_hash(ctl->hash_kind);
+ } + }
+ } + }
+ +
+ q->ht = kmalloc(q->hash_divisor*sizeof(esfq_index), GFP_KERNEL); + q->ht = kmalloc(q->hash_divisor*sizeof(esfq_index), GFP_KERNEL);
+ if (!q->ht) + if (!q->ht)
+ goto err_case; + goto err_case;
@ -656,7 +656,7 @@
+ q->qs = kmalloc(q->depth*sizeof(struct sk_buff_head), GFP_KERNEL); + q->qs = kmalloc(q->depth*sizeof(struct sk_buff_head), GFP_KERNEL);
+ if (!q->qs) + if (!q->qs)
+ goto err_case; + goto err_case;
+ +
+ for (i=0; i< q->hash_divisor; i++) + for (i=0; i< q->hash_divisor; i++)
+ q->ht[i] = q->depth; + q->ht[i] = q->depth;
+ for (i=0; i<q->depth; i++) { + for (i=0; i<q->depth; i++) {
@ -664,7 +664,7 @@
+ q->dep[i+q->depth].next = i+q->depth; + q->dep[i+q->depth].next = i+q->depth;
+ q->dep[i+q->depth].prev = i+q->depth; + q->dep[i+q->depth].prev = i+q->depth;
+ } + }
+ +
+ for (i=0; i<q->depth; i++) + for (i=0; i<q->depth; i++)
+ esfq_link(q, i); + esfq_link(q, i);
+ return 0; + return 0;
@ -677,7 +677,7 @@
+{ +{
+ struct esfq_sched_data *q = qdisc_priv(sch); + struct esfq_sched_data *q = qdisc_priv(sch);
+ int err; + int err;
+ +
+ q->quantum = psched_mtu(sch->dev); /* default */ + q->quantum = psched_mtu(sch->dev); /* default */
+ if ((err = esfq_q_init(q, opt))) + if ((err = esfq_q_init(q, opt)))
+ return err; + return err;
@ -689,7 +689,7 @@
+ q->perturb_timer.expires = jiffies + q->perturb_period; + q->perturb_timer.expires = jiffies + q->perturb_period;
+ add_timer(&q->perturb_timer); + add_timer(&q->perturb_timer);
+ } + }
+ +
+ return 0; + return 0;
+} +}
+ +
@ -699,7 +699,7 @@
+ struct esfq_sched_data new; + struct esfq_sched_data new;
+ struct sk_buff *skb; + struct sk_buff *skb;
+ int err; + int err;
+ +
+ /* set up new queue */ + /* set up new queue */
+ memset(&new, 0, sizeof(struct esfq_sched_data)); + memset(&new, 0, sizeof(struct esfq_sched_data));
+ new.quantum = psched_mtu(sch->dev); /* default */ + new.quantum = psched_mtu(sch->dev); /* default */
@ -710,7 +710,7 @@
+ sch_tree_lock(sch); + sch_tree_lock(sch);
+ while ((skb = esfq_q_dequeue(q)) != NULL) + while ((skb = esfq_q_dequeue(q)) != NULL)
+ esfq_q_enqueue(skb, &new, ESFQ_TAIL); + esfq_q_enqueue(skb, &new, ESFQ_TAIL);
+ +
+ /* clean up the old queue */ + /* clean up the old queue */
+ esfq_q_destroy(q); + esfq_q_destroy(q);
+ +
@ -786,7 +786,7 @@
+{ +{
+ return register_qdisc(&esfq_qdisc_ops); + return register_qdisc(&esfq_qdisc_ops);
+} +}
+static void __exit esfq_module_exit(void) +static void __exit esfq_module_exit(void)
+{ +{
+ unregister_qdisc(&esfq_qdisc_ops); + unregister_qdisc(&esfq_qdisc_ops);
+} +}

View File

@ -9,7 +9,7 @@
+ if (c->mtd->unlock) + if (c->mtd->unlock)
+ c->mtd->unlock(c->mtd, 0, c->mtd->size); + c->mtd->unlock(c->mtd, 0, c->mtd->size);
+ printk("done.\n"); + printk("done.\n");
+ +
+ printk("%s(): erasing all blocks after the end marker... ", __func__); + printk("%s(): erasing all blocks after the end marker... ", __func__);
+ jffs2_erase_pending_blocks(c, -1); + jffs2_erase_pending_blocks(c, -1);
+ printk("done.\n"); + printk("done.\n");
@ -20,14 +20,21 @@
/* Now scan the directory tree, increasing nlink according to every dirent found. */ /* Now scan the directory tree, increasing nlink according to every dirent found. */
--- a/fs/jffs2/scan.c --- a/fs/jffs2/scan.c
+++ b/fs/jffs2/scan.c +++ b/fs/jffs2/scan.c
@@ -143,9 +143,12 @@ @@ -72,7 +72,7 @@
return ret;
if ((ret = jffs2_scan_dirty_space(c, jeb, jeb->free_size)))
return ret;
- /* Turned wasted size into dirty, since we apparently
+ /* Turned wasted size into dirty, since we apparently
think it's recoverable now. */
jeb->dirty_size += jeb->wasted_size;
c->dirty_size += jeb->wasted_size;
@@ -144,8 +144,11 @@
/* reset summary info for next eraseblock scan */ /* reset summary info for next eraseblock scan */
jffs2_sum_reset_collected(s); jffs2_sum_reset_collected(s);
-
- ret = jffs2_scan_eraseblock(c, jeb, buf_size?flashbuf:(flashbuf+jeb->offset), - ret = jffs2_scan_eraseblock(c, jeb, buf_size?flashbuf:(flashbuf+jeb->offset),
- buf_size, s); - buf_size, s);
+
+ if (c->flags & (1 << 7)) + if (c->flags & (1 << 7))
+ ret = BLK_STATE_ALLFF; + ret = BLK_STATE_ALLFF;
+ else + else
@ -36,6 +43,57 @@
if (ret < 0) if (ret < 0)
goto out; goto out;
@@ -400,7 +403,7 @@
if (!ref)
return -ENOMEM;
- /* BEFORE jffs2_build_xattr_subsystem() called,
+ /* BEFORE jffs2_build_xattr_subsystem() called,
* and AFTER xattr_ref is marked as a dead xref,
* ref->xid is used to store 32bit xid, xd is not used
* ref->ino is used to store 32bit inode-number, ic is not used
@@ -473,7 +476,7 @@
struct jffs2_sum_marker *sm;
void *sumptr = NULL;
uint32_t sumlen;
-
+
if (!buf_size) {
/* XIP case. Just look, point at the summary if it's there */
sm = (void *)buf + c->sector_size - sizeof(*sm);
@@ -489,9 +492,9 @@
buf_len = sizeof(*sm);
/* Read as much as we want into the _end_ of the preallocated buffer */
- err = jffs2_fill_scan_buf(c, buf + buf_size - buf_len,
+ err = jffs2_fill_scan_buf(c, buf + buf_size - buf_len,
jeb->offset + c->sector_size - buf_len,
- buf_len);
+ buf_len);
if (err)
return err;
@@ -510,9 +513,9 @@
}
if (buf_len < sumlen) {
/* Need to read more so that the entire summary node is present */
- err = jffs2_fill_scan_buf(c, sumptr,
+ err = jffs2_fill_scan_buf(c, sumptr,
jeb->offset + c->sector_size - sumlen,
- sumlen - buf_len);
+ sumlen - buf_len);
if (err)
return err;
}
@@ -525,7 +528,7 @@
if (buf_size && sumlen > buf_size)
kfree(sumptr);
- /* If it returns with a real error, bail.
+ /* If it returns with a real error, bail.
If it returns positive, that's a block classification
(i.e. BLK_STATE_xxx) so return that too.
If it returns zero, fall through to full scan. */
@@ -546,6 +549,17 @@ @@ -546,6 +549,17 @@
return err; return err;
} }
@ -50,7 +108,25 @@
+ +
+ return BLK_STATE_ALLFF; + return BLK_STATE_ALLFF;
+ } + }
+ +
/* We temporarily use 'ofs' as a pointer into the buffer/jeb */ /* We temporarily use 'ofs' as a pointer into the buffer/jeb */
ofs = 0; ofs = 0;
@@ -671,7 +685,7 @@
scan_end = buf_len;
goto more_empty;
}
-
+
/* See how much more there is to read in this eraseblock... */
buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs);
if (!buf_len) {
@@ -907,7 +921,7 @@
D1(printk(KERN_DEBUG "Block at 0x%08x: free 0x%08x, dirty 0x%08x, unchecked 0x%08x, used 0x%08x, wasted 0x%08x\n",
jeb->offset,jeb->free_size, jeb->dirty_size, jeb->unchecked_size, jeb->used_size, jeb->wasted_size));
-
+
/* mark_node_obsolete can add to wasted !! */
if (jeb->wasted_size) {
jeb->dirty_size += jeb->wasted_size;

View File

@ -21,7 +21,7 @@
+ spin_lock(&sequence_lock); + spin_lock(&sequence_lock);
+ seq = ++uevent_seqnum; + seq = ++uevent_seqnum;
+ spin_unlock(&sequence_lock); + spin_unlock(&sequence_lock);
+ +
+ return seq; + return seq;
+} +}
+EXPORT_SYMBOL_GPL(uevent_next_seqnum); +EXPORT_SYMBOL_GPL(uevent_next_seqnum);

View File

@ -20,7 +20,7 @@
+ if (copy_to_user(useraddr, &ecmd, sizeof(ecmd))) + if (copy_to_user(useraddr, &ecmd, sizeof(ecmd)))
+ return -EFAULT; + return -EFAULT;
+ return 0; + return 0;
+ +
+ case ETHTOOL_SSET: + case ETHTOOL_SSET:
+ if (copy_from_user(&ecmd, useraddr, sizeof(ecmd))) + if (copy_from_user(&ecmd, useraddr, sizeof(ecmd)))
+ return -EFAULT; + return -EFAULT;
@ -33,7 +33,7 @@
+ tmp |= (BMCR_ANRESTART); + tmp |= (BMCR_ANRESTART);
+ phy_write(phydev, MII_BMCR, tmp); + phy_write(phydev, MII_BMCR, tmp);
+ return 0; + return 0;
+ } + }
+ return -EINVAL; + return -EINVAL;
+ +
+ case ETHTOOL_GLINK: + case ETHTOOL_GLINK:
@ -51,6 +51,26 @@
/** /**
* phy_mii_ioctl - generic PHY MII ioctl interface * phy_mii_ioctl - generic PHY MII ioctl interface
* @phydev: the phy_device struct * @phydev: the phy_device struct
@@ -403,8 +447,8 @@
}
phy_write(phydev, mii_data->reg_num, val);
-
- if (mii_data->reg_num == MII_BMCR
+
+ if (mii_data->reg_num == MII_BMCR
&& val & BMCR_RESET
&& phydev->drv->config_init) {
phy_scan_fixups(phydev);
@@ -524,7 +568,7 @@
int idx;
idx = phy_find_setting(phydev->speed, phydev->duplex);
-
+
idx++;
idx = phy_find_valid(idx, phydev->supported);
--- a/include/linux/phy.h --- a/include/linux/phy.h
+++ b/include/linux/phy.h +++ b/include/linux/phy.h
@@ -434,6 +434,7 @@ @@ -434,6 +434,7 @@

View File

@ -80,7 +80,7 @@
/* Get BSSID if we have a valid AP address */ /* Get BSSID if we have a valid AP address */
+ +
+ if ( val == HFA384X_LINKSTATUS_CONNECTED || + if ( val == HFA384X_LINKSTATUS_CONNECTED ||
+ val == HFA384X_LINKSTATUS_DISCONNECTED ) + val == HFA384X_LINKSTATUS_DISCONNECTED )
+ hostap_restore_power(local->dev); + hostap_restore_power(local->dev);
+ +
if (connected) { if (connected) {
@ -127,7 +127,7 @@
+{ +{
+ struct hostap_interface *iface = dev->priv; + struct hostap_interface *iface = dev->priv;
+ local_info_t *local = iface->local; + local_info_t *local = iface->local;
+ +
+ u16 val; + u16 val;
+ int ret = 0; + int ret = 0;
+ +

View File

@ -573,7 +573,12 @@
/* max = 24: 128bit encrypt, max = 32: 256bit encrypt */ /* max = 24: 128bit encrypt, max = 32: 256bit encrypt */
--- a/crypto/crc32c.c --- a/crypto/crc32c.c
+++ b/crypto/crc32c.c +++ b/crypto/crc32c.c
@@ -5,20 +5,23 @@ @@ -1,24 +1,27 @@
-/*
+/*
* Cryptographic API.
*
* CRC32C chksum
* *
* This module file is a wrapper to invoke the lib/crc32c routines. * This module file is a wrapper to invoke the lib/crc32c routines.
* *
@ -581,7 +586,8 @@
+ * + *
* This program is free software; you can redistribute it and/or modify it * This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free * under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) - * Software Foundation; either version 2 of the License, or (at your option)
+ * Software Foundation; either version 2 of the License, or (at your option)
* any later version. * any later version.
* *
*/ */
@ -599,7 +605,21 @@
#define CHKSUM_DIGEST_SIZE 4 #define CHKSUM_DIGEST_SIZE 4
struct chksum_ctx { struct chksum_ctx {
@@ -71,7 +74,7 @@ @@ -27,7 +30,7 @@
};
/*
- * Steps through buffer one byte at at time, calculates reflected
+ * Steps through buffer one byte at at time, calculates reflected
* crc using table.
*/
@@ -67,11 +70,11 @@
static void chksum_final(struct crypto_tfm *tfm, u8 *out)
{
struct chksum_ctx *mctx = crypto_tfm_ctx(tfm);
-
+
*(__le32 *)out = ~cpu_to_le32(mctx->crc); *(__le32 *)out = ~cpu_to_le32(mctx->crc);
} }
@ -675,7 +695,7 @@
+static int crc32c_final(struct ahash_request *req) +static int crc32c_final(struct ahash_request *req)
+{ +{
+ u32 *crcp = ahash_request_ctx(req); + u32 *crcp = ahash_request_ctx(req);
+ +
+ *(__le32 *)req->result = ~cpu_to_le32p(crcp); + *(__le32 *)req->result = ~cpu_to_le32p(crcp);
+ return 0; + return 0;
+} +}
@ -8329,12 +8349,12 @@
@@ -0,0 +1,154 @@ @@ -0,0 +1,154 @@
+/* +/*
+ * Hash: Hash algorithms under the crypto API + * Hash: Hash algorithms under the crypto API
+ * + *
+ * Copyright (c) 2008 Herbert Xu <herbert@gondor.apana.org.au> + * Copyright (c) 2008 Herbert Xu <herbert@gondor.apana.org.au>
+ * + *
+ * This program is free software; you can redistribute it and/or modify it + * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free + * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option) + * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version. + * any later version.
+ * + *
+ */ + */
@ -8486,12 +8506,12 @@
@@ -0,0 +1,78 @@ @@ -0,0 +1,78 @@
+/* +/*
+ * Hash algorithms. + * Hash algorithms.
+ * + *
+ * Copyright (c) 2008 Herbert Xu <herbert@gondor.apana.org.au> + * Copyright (c) 2008 Herbert Xu <herbert@gondor.apana.org.au>
+ * + *
+ * This program is free software; you can redistribute it and/or modify it + * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free + * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option) + * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version. + * any later version.
+ * + *
+ */ + */

View File

@ -26,11 +26,9 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
--- ---
diff --git a/drivers/net/Makefile b/drivers/net/Makefile
index c52738a..c96fe20 100644
--- a/drivers/net/Makefile --- a/drivers/net/Makefile
+++ b/drivers/net/Makefile +++ b/drivers/net/Makefile
@@ -237,6 +237,7 @@ obj-$(CONFIG_USB_CATC) += usb/ @@ -237,6 +237,7 @@
obj-$(CONFIG_USB_KAWETH) += usb/ obj-$(CONFIG_USB_KAWETH) += usb/
obj-$(CONFIG_USB_PEGASUS) += usb/ obj-$(CONFIG_USB_PEGASUS) += usb/
obj-$(CONFIG_USB_RTL8150) += usb/ obj-$(CONFIG_USB_RTL8150) += usb/
@ -38,11 +36,9 @@ index c52738a..c96fe20 100644
obj-$(CONFIG_USB_USBNET) += usb/ obj-$(CONFIG_USB_USBNET) += usb/
obj-$(CONFIG_USB_ZD1201) += usb/ obj-$(CONFIG_USB_ZD1201) += usb/
diff --git a/drivers/net/usb/Kconfig b/drivers/net/usb/Kconfig
index 0604f3f..68e198b 100644
--- a/drivers/net/usb/Kconfig --- a/drivers/net/usb/Kconfig
+++ b/drivers/net/usb/Kconfig +++ b/drivers/net/usb/Kconfig
@@ -154,6 +154,16 @@ config USB_NET_AX8817X @@ -154,6 +154,16 @@
This driver creates an interface named "ethX", where X depends on This driver creates an interface named "ethX", where X depends on
what other networking devices you have in use. what other networking devices you have in use.
@ -59,11 +55,9 @@ index 0604f3f..68e198b 100644
config USB_NET_CDCETHER config USB_NET_CDCETHER
tristate "CDC Ethernet support (smart devices such as cable modems)" tristate "CDC Ethernet support (smart devices such as cable modems)"
diff --git a/drivers/net/usb/Makefile b/drivers/net/usb/Makefile
index 595a539..24800c1 100644
--- a/drivers/net/usb/Makefile --- a/drivers/net/usb/Makefile
+++ b/drivers/net/usb/Makefile +++ b/drivers/net/usb/Makefile
@@ -6,6 +6,7 @@ obj-$(CONFIG_USB_CATC) += catc.o @@ -6,6 +6,7 @@
obj-$(CONFIG_USB_KAWETH) += kaweth.o obj-$(CONFIG_USB_KAWETH) += kaweth.o
obj-$(CONFIG_USB_PEGASUS) += pegasus.o obj-$(CONFIG_USB_PEGASUS) += pegasus.o
obj-$(CONFIG_USB_RTL8150) += rtl8150.o obj-$(CONFIG_USB_RTL8150) += rtl8150.o
@ -71,9 +65,6 @@ index 595a539..24800c1 100644
obj-$(CONFIG_USB_NET_AX8817X) += asix.o obj-$(CONFIG_USB_NET_AX8817X) += asix.o
obj-$(CONFIG_USB_NET_CDCETHER) += cdc_ether.o obj-$(CONFIG_USB_NET_CDCETHER) += cdc_ether.o
obj-$(CONFIG_USB_NET_DM9601) += dm9601.o obj-$(CONFIG_USB_NET_DM9601) += dm9601.o
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
new file mode 100644
index 0000000..031d07b
--- /dev/null --- /dev/null
+++ b/drivers/net/usb/hso.c +++ b/drivers/net/usb/hso.c
@@ -0,0 +1,2836 @@ @@ -0,0 +1,2836 @@