forked from rpms/kernel
		
	Add two patches to fix mac80211 issues (rhbz 731365)
This commit is contained in:
		
							parent
							
								
									dee356203f
								
							
						
					
					
						commit
						44ef27d0d0
					
				
							
								
								
									
										11
									
								
								kernel.spec
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								kernel.spec
									
									
									
									
									
								
							| @ -54,7 +54,7 @@ Summary: The Linux kernel | |||||||
| # For non-released -rc kernels, this will be appended after the rcX and | # For non-released -rc kernels, this will be appended after the rcX and | ||||||
| # gitX tags, so a 3 here would become part of release "0.rcX.gitX.3" | # gitX tags, so a 3 here would become part of release "0.rcX.gitX.3" | ||||||
| # | # | ||||||
| %global baserelease 2 | %global baserelease 3 | ||||||
| %global fedora_build %{baserelease} | %global fedora_build %{baserelease} | ||||||
| 
 | 
 | ||||||
| # base_sublevel is the kernel version we're starting with and patching | # base_sublevel is the kernel version we're starting with and patching | ||||||
| @ -700,6 +700,10 @@ Patch21001: arm-smsc-support-reading-mac-address-from-device-tree.patch | |||||||
| #rhbz 749166 | #rhbz 749166 | ||||||
| Patch21050: xfs-Fix-possible-memory-corruption-in-xfs_readlink.patch | Patch21050: xfs-Fix-possible-memory-corruption-in-xfs_readlink.patch | ||||||
| 
 | 
 | ||||||
|  | #rhbz 731365 | ||||||
|  | Patch21062: mac80211-fix-remain_off_channel-regression.patch | ||||||
|  | Patch21063: mac80211-config-hw-when-going-back-on-channel.patch | ||||||
|  | 
 | ||||||
| Patch21070: oom-fix-integer-overflow-of-points.patch | Patch21070: oom-fix-integer-overflow-of-points.patch | ||||||
| 
 | 
 | ||||||
| Patch21071: modsplit-post-merge.patch | Patch21071: modsplit-post-merge.patch | ||||||
| @ -1327,6 +1331,10 @@ ApplyPatch oom-fix-integer-overflow-of-points.patch | |||||||
| 
 | 
 | ||||||
| ApplyPatch modsplit-post-merge.patch | ApplyPatch modsplit-post-merge.patch | ||||||
| 
 | 
 | ||||||
|  | #rhbz 731365 | ||||||
|  | ApplyPatch mac80211-fix-remain_off_channel-regression.patch | ||||||
|  | ApplyPatch mac80211-config-hw-when-going-back-on-channel.patch | ||||||
|  | 
 | ||||||
| # END OF PATCH APPLICATIONS | # END OF PATCH APPLICATIONS | ||||||
| 
 | 
 | ||||||
| %endif | %endif | ||||||
| @ -2034,6 +2042,7 @@ fi | |||||||
| - Linux 3.1-git7 | - Linux 3.1-git7 | ||||||
| - Drop override for XEN_MAX_DOMAIN_MEMORY (rhbz 751789) | - Drop override for XEN_MAX_DOMAIN_MEMORY (rhbz 751789) | ||||||
| - Add fixes from git://openlinux.windriver.com/people/paulg/modsplit-post-merge | - Add fixes from git://openlinux.windriver.com/people/paulg/modsplit-post-merge | ||||||
|  | - Add two patches to fix mac80211 issues (rhbz 731365) | ||||||
| 
 | 
 | ||||||
| * Fri Nov 04 2011 Josh Boyer <jwboyer@redhat.com> | * Fri Nov 04 2011 Josh Boyer <jwboyer@redhat.com> | ||||||
| - Linux 3.1-git6 | - Linux 3.1-git6 | ||||||
|  | |||||||
							
								
								
									
										40
									
								
								mac80211-config-hw-when-going-back-on-channel.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								mac80211-config-hw-when-going-back-on-channel.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,40 @@ | |||||||
|  | From 776308dd5fa8a41e8bbb79818a66bd68a7db757e Mon Sep 17 00:00:00 2001 | ||||||
|  | From: Eliad Peller <eliad@wizery.com> | ||||||
|  | Date: Thu, 20 Oct 2011 19:05:50 +0200 | ||||||
|  | Subject: [PATCH] mac80211: config hw when going back on-channel | ||||||
|  | 
 | ||||||
|  | When going back on-channel, we should reconfigure | ||||||
|  | the hw iff the hardware is not already configured | ||||||
|  | to the operational channel. | ||||||
|  | 
 | ||||||
|  | Signed-off-by: Eliad Peller <eliad@wizery.com> | ||||||
|  | Cc: stable@kernel.org # 2.6.39+ | ||||||
|  | Signed-off-by: John W. Linville <linville@tuxdriver.com> | ||||||
|  | ---
 | ||||||
|  |  net/mac80211/work.c |    3 +-- | ||||||
|  |  1 files changed, 1 insertions(+), 2 deletions(-) | ||||||
|  | 
 | ||||||
|  | diff --git a/net/mac80211/work.c b/net/mac80211/work.c
 | ||||||
|  | index bf5be22..6c53b6d 100644
 | ||||||
|  | --- a/net/mac80211/work.c
 | ||||||
|  | +++ b/net/mac80211/work.c
 | ||||||
|  | @@ -1091,7 +1091,6 @@ static void ieee80211_work_work(struct work_struct *work)
 | ||||||
|  |  	} | ||||||
|  |   | ||||||
|  |  	if (!remain_off_channel && local->tmp_channel) { | ||||||
|  | -		bool on_oper_chan = ieee80211_cfg_on_oper_channel(local);
 | ||||||
|  |  		local->tmp_channel = NULL; | ||||||
|  |  		/* If tmp_channel wasn't operating channel, then | ||||||
|  |  		 * we need to go back on-channel. | ||||||
|  | @@ -1101,7 +1100,7 @@ static void ieee80211_work_work(struct work_struct *work)
 | ||||||
|  |  		 * we still need to do a hardware config.  Currently, | ||||||
|  |  		 * we cannot be here while scanning, however. | ||||||
|  |  		 */ | ||||||
|  | -		if (ieee80211_cfg_on_oper_channel(local) && !on_oper_chan)
 | ||||||
|  | +		if (!ieee80211_cfg_on_oper_channel(local))
 | ||||||
|  |  			ieee80211_hw_config(local, 0); | ||||||
|  |   | ||||||
|  |  		/* At the least, we need to disable offchannel_ps, | ||||||
|  | -- 
 | ||||||
|  | 1.7.6.2 | ||||||
|  | 
 | ||||||
							
								
								
									
										44
									
								
								mac80211-fix-remain_off_channel-regression.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								mac80211-fix-remain_off_channel-regression.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,44 @@ | |||||||
|  | From 682ba5a44516529b29fc780c055e06104d36e31e Mon Sep 17 00:00:00 2001 | ||||||
|  | From: Eliad Peller <eliad@wizery.com> | ||||||
|  | Date: Thu, 20 Oct 2011 19:05:49 +0200 | ||||||
|  | Subject: [PATCH] mac80211: fix remain_off_channel regression | ||||||
|  | 
 | ||||||
|  | The offchannel code is currently broken - we should | ||||||
|  | remain_off_channel if the work was started, and | ||||||
|  | the work's channel and channel_type are the same | ||||||
|  | as local->tmp_channel and local->tmp_channel_type. | ||||||
|  | 
 | ||||||
|  | However, if wk->chan_type and local->tmp_channel_type | ||||||
|  | coexist (e.g. have the same channel type), we won't | ||||||
|  | remain_off_channel. | ||||||
|  | 
 | ||||||
|  | This behavior was introduced by commit da2fd1f | ||||||
|  | ("mac80211: Allow work items to use existing | ||||||
|  | channel type.") | ||||||
|  | 
 | ||||||
|  | Tested-by: Ben Greear <greearb@candelatech.com> | ||||||
|  | Signed-off-by: Eliad Peller <eliad@wizery.com> | ||||||
|  | Cc: stable@kernel.org # 2.6.39+ | ||||||
|  | Signed-off-by: John W. Linville <linville@tuxdriver.com> | ||||||
|  | ---
 | ||||||
|  |  net/mac80211/work.c |    4 ++-- | ||||||
|  |  1 files changed, 2 insertions(+), 2 deletions(-) | ||||||
|  | 
 | ||||||
|  | diff --git a/net/mac80211/work.c b/net/mac80211/work.c
 | ||||||
|  | index 94472eb..bf5be22 100644
 | ||||||
|  | --- a/net/mac80211/work.c
 | ||||||
|  | +++ b/net/mac80211/work.c
 | ||||||
|  | @@ -1084,8 +1084,8 @@ static void ieee80211_work_work(struct work_struct *work)
 | ||||||
|  |  			continue; | ||||||
|  |  		if (wk->chan != local->tmp_channel) | ||||||
|  |  			continue; | ||||||
|  | -		if (ieee80211_work_ct_coexists(wk->chan_type,
 | ||||||
|  | -					       local->tmp_channel_type))
 | ||||||
|  | +		if (!ieee80211_work_ct_coexists(wk->chan_type,
 | ||||||
|  | +						local->tmp_channel_type))
 | ||||||
|  |  			continue; | ||||||
|  |  		remain_off_channel = true; | ||||||
|  |  	} | ||||||
|  | -- 
 | ||||||
|  | 1.7.6.2 | ||||||
|  | 
 | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user