/[linux-patches]/genpatches-2.6/trunk/2.6.12-pre/1004_linux-2.6.11.5.patch
Gentoo

Contents of /genpatches-2.6/trunk/2.6.12-pre/1004_linux-2.6.11.5.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4 - (show annotations) (download) (as text)
Sat Jun 11 23:20:41 2005 UTC (15 years, 5 months ago) by dsd
File MIME type: text/x-diff
File size: 6362 byte(s)
Create 2.6.12 branch
1 diff -Nru a/Makefile b/Makefile
2 --- a/Makefile 2005-03-18 22:35:14 -08:00
3 +++ b/Makefile 2005-03-18 22:35:14 -08:00
4 @@ -1,7 +1,7 @@
5 VERSION = 2
6 PATCHLEVEL = 6
7 SUBLEVEL = 11
8 -EXTRAVERSION = .4
9 +EXTRAVERSION = .5
10 NAME=Woozy Numbat
11
12 # *DOCUMENTATION*
13 diff -Nru a/drivers/net/amd8111e.c b/drivers/net/amd8111e.c
14 --- a/drivers/net/amd8111e.c 2005-03-18 22:35:14 -08:00
15 +++ b/drivers/net/amd8111e.c 2005-03-18 22:35:14 -08:00
16 @@ -1381,6 +1381,8 @@
17
18 if(amd8111e_restart(dev)){
19 spin_unlock_irq(&lp->lock);
20 + if (dev->irq)
21 + free_irq(dev->irq, dev);
22 return -ENOMEM;
23 }
24 /* Start ipg timer */
25 diff -Nru a/drivers/net/tun.c b/drivers/net/tun.c
26 --- a/drivers/net/tun.c 2005-03-18 22:35:14 -08:00
27 +++ b/drivers/net/tun.c 2005-03-18 22:35:14 -08:00
28 @@ -229,7 +229,7 @@
29 size_t len = count;
30
31 if (!(tun->flags & TUN_NO_PI)) {
32 - if ((len -= sizeof(pi)) > len)
33 + if ((len -= sizeof(pi)) > count)
34 return -EINVAL;
35
36 if(memcpy_fromiovec((void *)&pi, iv, sizeof(pi)))
37 diff -Nru a/drivers/net/via-rhine.c b/drivers/net/via-rhine.c
38 --- a/drivers/net/via-rhine.c 2005-03-18 22:35:14 -08:00
39 +++ b/drivers/net/via-rhine.c 2005-03-18 22:35:14 -08:00
40 @@ -1197,8 +1197,10 @@
41 dev->name, rp->pdev->irq);
42
43 rc = alloc_ring(dev);
44 - if (rc)
45 + if (rc) {
46 + free_irq(rp->pdev->irq, dev);
47 return rc;
48 + }
49 alloc_rbufs(dev);
50 alloc_tbufs(dev);
51 rhine_chip_reset(dev);
52 diff -Nru a/drivers/net/wan/hd6457x.c b/drivers/net/wan/hd6457x.c
53 --- a/drivers/net/wan/hd6457x.c 2005-03-18 22:35:14 -08:00
54 +++ b/drivers/net/wan/hd6457x.c 2005-03-18 22:35:14 -08:00
55 @@ -315,7 +315,7 @@
56 #endif
57 stats->rx_packets++;
58 stats->rx_bytes += skb->len;
59 - skb->dev->last_rx = jiffies;
60 + dev->last_rx = jiffies;
61 skb->protocol = hdlc_type_trans(skb, dev);
62 netif_rx(skb);
63 }
64 diff -Nru a/kernel/signal.c b/kernel/signal.c
65 --- a/kernel/signal.c 2005-03-18 22:35:14 -08:00
66 +++ b/kernel/signal.c 2005-03-18 22:35:14 -08:00
67 @@ -1728,6 +1728,7 @@
68 * with another processor delivering a stop signal,
69 * then the SIGCONT that wakes us up should clear it.
70 */
71 + read_unlock(&tasklist_lock);
72 return 0;
73 }
74
75 diff -Nru a/net/ipv4/fib_hash.c b/net/ipv4/fib_hash.c
76 --- a/net/ipv4/fib_hash.c 2005-03-18 22:35:14 -08:00
77 +++ b/net/ipv4/fib_hash.c 2005-03-18 22:35:14 -08:00
78 @@ -919,13 +919,23 @@
79 return fa;
80 }
81
82 +static struct fib_alias *fib_get_idx(struct seq_file *seq, loff_t pos)
83 +{
84 + struct fib_alias *fa = fib_get_first(seq);
85 +
86 + if (fa)
87 + while (pos && (fa = fib_get_next(seq)))
88 + --pos;
89 + return pos ? NULL : fa;
90 +}
91 +
92 static void *fib_seq_start(struct seq_file *seq, loff_t *pos)
93 {
94 void *v = NULL;
95
96 read_lock(&fib_hash_lock);
97 if (ip_fib_main_table)
98 - v = *pos ? fib_get_next(seq) : SEQ_START_TOKEN;
99 + v = *pos ? fib_get_idx(seq, *pos - 1) : SEQ_START_TOKEN;
100 return v;
101 }
102
103 diff -Nru a/net/netrom/nr_in.c b/net/netrom/nr_in.c
104 --- a/net/netrom/nr_in.c 2005-03-18 22:35:14 -08:00
105 +++ b/net/netrom/nr_in.c 2005-03-18 22:35:14 -08:00
106 @@ -74,7 +74,6 @@
107 static int nr_state1_machine(struct sock *sk, struct sk_buff *skb,
108 int frametype)
109 {
110 - bh_lock_sock(sk);
111 switch (frametype) {
112 case NR_CONNACK: {
113 nr_cb *nr = nr_sk(sk);
114 @@ -103,8 +102,6 @@
115 default:
116 break;
117 }
118 - bh_unlock_sock(sk);
119 -
120 return 0;
121 }
122
123 @@ -116,7 +113,6 @@
124 static int nr_state2_machine(struct sock *sk, struct sk_buff *skb,
125 int frametype)
126 {
127 - bh_lock_sock(sk);
128 switch (frametype) {
129 case NR_CONNACK | NR_CHOKE_FLAG:
130 nr_disconnect(sk, ECONNRESET);
131 @@ -132,8 +128,6 @@
132 default:
133 break;
134 }
135 - bh_unlock_sock(sk);
136 -
137 return 0;
138 }
139
140 @@ -154,7 +148,6 @@
141 nr = skb->data[18];
142 ns = skb->data[17];
143
144 - bh_lock_sock(sk);
145 switch (frametype) {
146 case NR_CONNREQ:
147 nr_write_internal(sk, NR_CONNACK);
148 @@ -265,8 +258,6 @@
149 default:
150 break;
151 }
152 - bh_unlock_sock(sk);
153 -
154 return queued;
155 }
156
157 diff -Nru a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c
158 --- a/net/xfrm/xfrm_state.c 2005-03-18 22:35:14 -08:00
159 +++ b/net/xfrm/xfrm_state.c 2005-03-18 22:35:14 -08:00
160 @@ -609,7 +609,7 @@
161
162 for (i = 0; i < XFRM_DST_HSIZE; i++) {
163 list_for_each_entry(x, xfrm_state_bydst+i, bydst) {
164 - if (x->km.seq == seq) {
165 + if (x->km.seq == seq && x->km.state == XFRM_STATE_ACQ) {
166 xfrm_state_hold(x);
167 return x;
168 }
169 diff -Nru a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c
170 --- a/sound/pci/ac97/ac97_codec.c 2005-03-18 22:35:14 -08:00
171 +++ b/sound/pci/ac97/ac97_codec.c 2005-03-18 22:35:14 -08:00
172 @@ -1185,7 +1185,7 @@
173 /*
174 * create mute switch(es) for normal stereo controls
175 */
176 -static int snd_ac97_cmute_new(snd_card_t *card, char *name, int reg, ac97_t *ac97)
177 +static int snd_ac97_cmute_new_stereo(snd_card_t *card, char *name, int reg, int check_stereo, ac97_t *ac97)
178 {
179 snd_kcontrol_t *kctl;
180 int err;
181 @@ -1196,7 +1196,7 @@
182
183 mute_mask = 0x8000;
184 val = snd_ac97_read(ac97, reg);
185 - if (ac97->flags & AC97_STEREO_MUTES) {
186 + if (check_stereo || (ac97->flags & AC97_STEREO_MUTES)) {
187 /* check whether both mute bits work */
188 val1 = val | 0x8080;
189 snd_ac97_write(ac97, reg, val1);
190 @@ -1254,7 +1254,7 @@
191 /*
192 * create a mute-switch and a volume for normal stereo/mono controls
193 */
194 -static int snd_ac97_cmix_new(snd_card_t *card, const char *pfx, int reg, ac97_t *ac97)
195 +static int snd_ac97_cmix_new_stereo(snd_card_t *card, const char *pfx, int reg, int check_stereo, ac97_t *ac97)
196 {
197 int err;
198 char name[44];
199 @@ -1265,7 +1265,7 @@
200
201 if (snd_ac97_try_bit(ac97, reg, 15)) {
202 sprintf(name, "%s Switch", pfx);
203 - if ((err = snd_ac97_cmute_new(card, name, reg, ac97)) < 0)
204 + if ((err = snd_ac97_cmute_new_stereo(card, name, reg, check_stereo, ac97)) < 0)
205 return err;
206 }
207 check_volume_resolution(ac97, reg, &lo_max, &hi_max);
208 @@ -1277,6 +1277,8 @@
209 return 0;
210 }
211
212 +#define snd_ac97_cmix_new(card, pfx, reg, ac97) snd_ac97_cmix_new_stereo(card, pfx, reg, 0, ac97)
213 +#define snd_ac97_cmute_new(card, name, reg, ac97) snd_ac97_cmute_new_stereo(card, name, reg, 0, ac97)
214
215 static unsigned int snd_ac97_determine_spdif_rates(ac97_t *ac97);
216
217 @@ -1327,7 +1329,8 @@
218
219 /* build surround controls */
220 if (snd_ac97_try_volume_mix(ac97, AC97_SURROUND_MASTER)) {
221 - if ((err = snd_ac97_cmix_new(card, "Surround Playback", AC97_SURROUND_MASTER, ac97)) < 0)
222 + /* Surround Master (0x38) is with stereo mutes */
223 + if ((err = snd_ac97_cmix_new_stereo(card, "Surround Playback", AC97_SURROUND_MASTER, 1, ac97)) < 0)
224 return err;
225 }
226

  ViewVC Help
Powered by ViewVC 1.1.20