From: David S. Miller <davem@davemloft.net>
Date: Wed, 12 May 2010 07:05:35 +0000 (-0700)
Subject: Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=278554bd6579206921f5d8a523649a7a57f8850d;p=GitHub%2FLineageOS%2FG12%2Fandroid_kernel_amlogic_linux-4.9.git

Merge branch 'master' of /linux/kernel/git/davem/net-2.6

Conflicts:
	Documentation/feature-removal-schedule.txt
	drivers/net/wireless/ath/ar9170/usb.c
	drivers/scsi/iscsi_tcp.c
	net/ipv4/ipmr.c
---

278554bd6579206921f5d8a523649a7a57f8850d
diff --cc Documentation/feature-removal-schedule.txt
index a1c6e9277986,05df0b7514b6..e592dade6420
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@@ -599,30 -591,24 +599,53 @@@ Why:	Useful in 2003, implementation is 
  Who:	Len Brown <len.brown@intel.com>
  
  ----------------------------
 +
 +What:	iwlwifi 50XX module parameters
 +When:	2.6.40
 +Why:	The "..50" modules parameters were used to configure 5000 series and
 +	up devices; different set of module parameters also available for 4965
 +	with same functionalities. Consolidate both set into single place
 +	in drivers/net/wireless/iwlwifi/iwl-agn.c
 +
 +Who:	Wey-Yi Guy <wey-yi.w.guy@intel.com>
 +
 +----------------------------
 +
 +What:	iwl4965 alias support
 +When:	2.6.40
 +Why:	Internal alias support has been present in module-init-tools for some
 +	time, the MODULE_ALIAS("iwl4965") boilerplate aliases can be removed
 +	with no impact.
 +
 +Who:	Wey-Yi Guy <wey-yi.w.guy@intel.com>
 +
 +---------------------------
 +
 +What:	xt_NOTRACK
 +Files:	net/netfilter/xt_NOTRACK.c
 +When:	April 2011
 +Why:	Superseded by xt_CT
 +Who:	Netfilter developer team <netfilter-devel@vger.kernel.org>
++
++---------------------------
+ 
+ What:	video4linux /dev/vtx teletext API support
+ When:	2.6.35
+ Files:	drivers/media/video/saa5246a.c drivers/media/video/saa5249.c
+ 	include/linux/videotext.h
+ Why:	The vtx device nodes have been superseded by vbi device nodes
+ 	for many years. No applications exist that use the vtx support.
+ 	Of the two i2c drivers that actually support this API the saa5249
+ 	has been impossible to use for a year now and no known hardware
+ 	that supports this device exists. The saa5246a is theoretically
+ 	supported by the old mxb boards, but it never actually worked.
+ 
+ 	In summary: there is no hardware that can use this API and there
+ 	are no applications actually implementing this API.
+ 
+ 	The vtx support still reserves minors 192-223 and we would really
+ 	like to reuse those for upcoming new functionality. In the unlikely
+ 	event that new hardware appears that wants to use the functionality
+ 	provided by the vtx API, then that functionality should be build
+ 	around the sliced VBI API instead.
+ Who:	Hans Verkuil <hverkuil@xs4all.nl>
diff --cc drivers/net/wireless/ath/ar9170/usb.c
index c8121a6a9d3a,e1c2fcaa8bed..8663660ea4c6
--- a/drivers/net/wireless/ath/ar9170/usb.c
+++ b/drivers/net/wireless/ath/ar9170/usb.c
@@@ -738,12 -727,16 +738,16 @@@ static void ar9170_usb_firmware_failed(
  {
  	struct device *parent = aru->udev->dev.parent;
  
+ 	complete(&aru->firmware_loading_complete);
+ 
  	/* unbind anything failed */
  	if (parent)
 -		down(&parent->sem);
 +		device_lock(parent);
  	device_release_driver(&aru->udev->dev);
  	if (parent)
 -		up(&parent->sem);
 +		device_unlock(parent);
+ 
+ 	usb_put_dev(aru->udev);
  }
  
  static void ar9170_usb_firmware_finish(const struct firmware *fw, void *context)
diff --cc net/ipv4/ipmr.c
index f3f1c6b5c70c,ec19a890c9a0..7a7ee1cc3b5a
--- a/net/ipv4/ipmr.c
+++ b/net/ipv4/ipmr.c
@@@ -995,10 -750,12 +995,11 @@@ ipmr_cache_unresolved(struct mr_table *
  			return err;
  		}
  
 -		atomic_inc(&net->ipv4.cache_resolve_queue_len);
 -		c->next = mfc_unres_queue;
 -		mfc_unres_queue = c;
 +		atomic_inc(&mrt->cache_resolve_queue_len);
 +		list_add(&c->list, &mrt->mfc_unres_queue);
  
- 		mod_timer(&mrt->ipmr_expire_timer, c->mfc_un.unres.expires);
 -		if (atomic_read(&net->ipv4.cache_resolve_queue_len) == 1)
 -			mod_timer(&ipmr_expire_timer, c->mfc_un.unres.expires);
++		if (atomic_read(&mrt->cache_resolve_queue_len) == 1)
++			mod_timer(&mrt->ipmr_expire_timer, c->mfc_un.unres.expires);
  	}
  
  	/*