[kernel] r8045 - in dists/sid/linux-2.6/debian: . patches/bugfix patches/series

maximilian attems maks-guest at alioth.debian.org
Thu Dec 28 21:58:25 UTC 2006


Author: maks-guest
Date: Thu Dec 28 22:58:25 2006
New Revision: 8045

Added:
   dists/sid/linux-2.6/debian/patches/bugfix/2.6.16.37
Modified:
   dists/sid/linux-2.6/debian/changelog
   dists/sid/linux-2.6/debian/patches/series/9
Log:
add open 2.6.16.37 fixes


Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog	(original)
+++ dists/sid/linux-2.6/debian/changelog	Thu Dec 28 22:58:25 2006
@@ -63,8 +63,15 @@
   * Hand-picked from stable release 2.6.16.36:
     - [IPSEC]: Fix inetpeer leak in ipv4 xfrm dst entries.
     - [XFRM]: Use output device disable_xfrm for forwarded packets
+  * Hand-picked from stable release 2.6.16.37:
+    - x86-64: Mark rdtsc as sync only for netburst, not for core2
+    - [CRYPTO] sha512: Fix sha384 block size
+    - DVB: lgdt330x: fix signal / lock status detection bug
+    - [SCSI] gdth: Fix && typos
+    - softirq: remove BUG_ONs which can incorrectly trigger
+    - Fix SUNRPC wakeup/execute race condition
 
- -- maximilian attems <maks at sternwelten.at>  Thu, 28 Dec 2006 22:51:19 +0100
+ -- maximilian attems <maks at sternwelten.at>  Thu, 28 Dec 2006 22:54:32 +0100
 
 linux-2.6 (2.6.18-8) unstable; urgency=low
 

Added: dists/sid/linux-2.6/debian/patches/bugfix/2.6.16.37
==============================================================================
--- (empty file)
+++ dists/sid/linux-2.6/debian/patches/bugfix/2.6.16.37	Thu Dec 28 22:58:25 2006
@@ -0,0 +1,112 @@
+diff --git a/arch/x86_64/kernel/setup.c b/arch/x86_64/kernel/setup.c
+index a4a0bb5..babbbaf 100644
+--- a/arch/x86_64/kernel/setup.c
++++ b/arch/x86_64/kernel/setup.c
+@@ -1050,7 +1050,10 @@ static void __cpuinit init_intel(struct cpuinfo_x86 *c)
+ 	if ((c->x86 == 0xf && c->x86_model >= 0x03) ||
+ 	    (c->x86 == 0x6 && c->x86_model >= 0x0e))
+ 		set_bit(X86_FEATURE_CONSTANT_TSC, &c->x86_capability);
+-	set_bit(X86_FEATURE_SYNC_RDTSC, &c->x86_capability);
++	if (c->x86 == 15)
++		set_bit(X86_FEATURE_SYNC_RDTSC, &c->x86_capability);
++	else
++		clear_bit(X86_FEATURE_SYNC_RDTSC, &c->x86_capability);
+  	c->x86_max_cores = intel_num_cpu_cores(c);
+ 
+ 	srat_detect_node();
+diff --git a/crypto/sha512.c b/crypto/sha512.c
+index 3e6e939..c957481 100644
+--- a/crypto/sha512.c
++++ b/crypto/sha512.c
+@@ -24,7 +24,7 @@
+ 
+ #define SHA384_DIGEST_SIZE 48
+ #define SHA512_DIGEST_SIZE 64
+-#define SHA384_HMAC_BLOCK_SIZE  96
++#define SHA384_HMAC_BLOCK_SIZE 128
+ #define SHA512_HMAC_BLOCK_SIZE 128
+ 
+ struct sha512_ctx {
+diff --git a/drivers/media/dvb/frontends/lgdt330x.c b/drivers/media/dvb/frontends/lgdt330x.c
+index 4691ac5..8de081b 100644
+--- a/drivers/media/dvb/frontends/lgdt330x.c
++++ b/drivers/media/dvb/frontends/lgdt330x.c
+@@ -433,9 +433,6 @@ static int lgdt3302_read_status(struct dvb_frontend* fe, fe_status_t* status)
+ 		/* Test signal does not exist flag */
+ 		/* as well as the AGC lock flag.   */
+ 		*status |= FE_HAS_SIGNAL;
+-	} else {
+-		/* Without a signal all other status bits are meaningless */
+-		return 0;
+ 	}
+ 
+ 	/*
+@@ -498,9 +495,6 @@ static int lgdt3303_read_status(struct dvb_frontend* fe, fe_status_t* status)
+ 		/* Test input signal does not exist flag */
+ 		/* as well as the AGC lock flag.   */
+ 		*status |= FE_HAS_SIGNAL;
+-	} else {
+-		/* Without a signal all other status bits are meaningless */
+-		return 0;
+ 	}
+ 
+ 	/* Carrier Recovery Lock Status Register */
+diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c
+index 62e3cda..f6d44b6 100644
+--- a/drivers/scsi/gdth.c
++++ b/drivers/scsi/gdth.c
+@@ -3404,7 +3404,7 @@ static irqreturn_t gdth_interrupt(int irq,void *dev_id,struct pt_regs *regs)
+                 IStatus &= ~0x80;
+ #ifdef INT_COAL
+                 if (coalesced)
+-                    ha->status = pcs->ext_status && 0xffff;
++                    ha->status = pcs->ext_status & 0xffff;
+                 else 
+ #endif
+                     ha->status = gdth_readw(&dp6m_ptr->i960r.status);
+@@ -3416,7 +3416,7 @@ static irqreturn_t gdth_interrupt(int irq,void *dev_id,struct pt_regs *regs)
+             if (coalesced) {    
+                 ha->info = pcs->info0;
+                 ha->info2 = pcs->info1;
+-                ha->service = (pcs->ext_status >> 16) && 0xffff;
++                ha->service = (pcs->ext_status >> 16) & 0xffff;
+             } else
+ #endif
+             {
+diff --git a/kernel/softirq.c b/kernel/softirq.c
+index ad3295c..6abbc72 100644
+--- a/kernel/softirq.c
++++ b/kernel/softirq.c
+@@ -454,8 +454,6 @@ static int __devinit cpu_callback(struct notifier_block *nfb,
+ 
+ 	switch (action) {
+ 	case CPU_UP_PREPARE:
+-		BUG_ON(per_cpu(tasklet_vec, hotcpu).list);
+-		BUG_ON(per_cpu(tasklet_hi_vec, hotcpu).list);
+ 		p = kthread_create(ksoftirqd, hcpu, "ksoftirqd/%d", hotcpu);
+ 		if (IS_ERR(p)) {
+ 			printk("ksoftirqd for %i failed\n", hotcpu);
+diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c
+index e838d04..d1c8b47 100644
+--- a/net/sunrpc/sched.c
++++ b/net/sunrpc/sched.c
+@@ -299,13 +299,15 @@ EXPORT_SYMBOL(__rpc_wait_for_completion_task);
+  */
+ static void rpc_make_runnable(struct rpc_task *task)
+ {
+-	int do_ret;
+-
+ 	BUG_ON(task->tk_timeout_fn);
+-	do_ret = rpc_test_and_set_running(task);
+ 	rpc_clear_queued(task);
+-	if (do_ret)
++	if (rpc_test_and_set_running(task))
++		return;
++	/* We might have raced */
++	if (RPC_IS_QUEUED(task)) {
++		rpc_clear_running(task);
+ 		return;
++	}
+ 	if (RPC_IS_ASYNC(task)) {
+ 		int status;
+ 

Modified: dists/sid/linux-2.6/debian/patches/series/9
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/9	(original)
+++ dists/sid/linux-2.6/debian/patches/series/9	Thu Dec 28 22:58:25 2006
@@ -19,3 +19,4 @@
 + bugfix/2.6.16.34
 + bugfix/2.6.16.35
 + bugfix/2.6.16.36
++ bugfix/2.6.16.37



More information about the Kernel-svn-changes mailing list