diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2008-02-22 08:37:51 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-02-22 08:37:51 -0800 |
commit | 26ebb5874ee7d4354585db61436ff11448a06e4b (patch) | |
tree | 53a1f2a82b0bb6d6884508e21d415f63933086b6 | |
parent | e0754e72def5cb7e908b0dac1a37f85e8c8534a3 (diff) | |
download | patches-26ebb5874ee7d4354585db61436ff11448a06e4b.tar.gz |
remove patches now in Linus's tree
46 files changed, 0 insertions, 2704 deletions
diff --git a/driver/cpufreq-fix-kobject-reference-count-handling.patch b/driver/cpufreq-fix-kobject-reference-count-handling.patch deleted file mode 100644 index cc0f2c1c92a92c..00000000000000 --- a/driver/cpufreq-fix-kobject-reference-count-handling.patch +++ /dev/null @@ -1,41 +0,0 @@ -From foo@baz Tue Apr 9 12:12:43 2002 -Date: Sat, 9 Feb 2008 00:52:40 +0530 -To: Greg KH <greg@kroah.com> -From: Balaji Rao <balajirrao@gmail.com> -Subject: cpufreq: fix kobject reference count handling - -The cpufreq core should not take an extra kobject reference count for no -reason, and then refuse to release it. This has been reported as -keeping machines from properly powering down all the way. - - -Signed-off-by: Balaji Rao <balajirrao@gmail.com> -Cc: Dave Jones <davej@codemonkey.org.uk> -Cc: Yi Yang <yi.y.yang@intel.com> -Cc: Alan Stern <stern@rowland.harvard.edu> -Cc: Frans Pop <elendil@planet.nl> -Cc: Yinghai Lu <yhlu.kernel@gmail.com> -Cc: Ingo Molnar <mingo@elte.hu> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/cpufreq/cpufreq.c | 8 -------- - 1 file changed, 8 deletions(-) - ---- a/drivers/cpufreq/cpufreq.c -+++ b/drivers/cpufreq/cpufreq.c -@@ -1006,14 +1006,6 @@ static int __cpufreq_remove_dev (struct - } - #endif - -- -- if (!kobject_get(&data->kobj)) { -- spin_unlock_irqrestore(&cpufreq_driver_lock, flags); -- cpufreq_debug_enable_ratelimit(); -- unlock_policy_rwsem_write(cpu); -- return -EFAULT; -- } -- - #ifdef CONFIG_SMP - - #ifdef CONFIG_HOTPLUG_CPU diff --git a/driver/driver-core-fix-error-handling-in-bus_add_driver.patch b/driver/driver-core-fix-error-handling-in-bus_add_driver.patch deleted file mode 100644 index 1cb154eed90e85..00000000000000 --- a/driver/driver-core-fix-error-handling-in-bus_add_driver.patch +++ /dev/null @@ -1,47 +0,0 @@ -From cornelia.huck@de.ibm.com Mon Feb 18 08:05:07 2008 -From: Cornelia Huck <cornelia.huck@de.ibm.com> -Date: Mon, 18 Feb 2008 17:04:25 +0100 -Subject: Driver core: Fix error handling in bus_add_driver(). -To: Greg KH <gregkh@suse.de> -Cc: linux-kernel@vger.kernel.org -Message-ID: <20080218170425.56d03e37@gondolin.boeblingen.de.ibm.com> - - -- If the allocation of ->priv fails, the reference on the bus - must be dropped. -- If adding the kobject fails, kobject_put must be called to - clean things up. - -Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - - ---- - drivers/base/bus.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - ---- a/drivers/base/bus.c -+++ b/drivers/base/bus.c -@@ -658,9 +658,10 @@ int bus_add_driver(struct device_driver - pr_debug("bus: '%s': add driver %s\n", bus->name, drv->name); - - priv = kzalloc(sizeof(*priv), GFP_KERNEL); -- if (!priv) -- return -ENOMEM; -- -+ if (!priv) { -+ error = -ENOMEM; -+ goto out_put_bus; -+ } - klist_init(&priv->klist_devices, NULL, NULL); - priv->driver = drv; - drv->p = priv; -@@ -668,7 +669,7 @@ int bus_add_driver(struct device_driver - error = kobject_init_and_add(&priv->kobj, &driver_ktype, NULL, - "%s", drv->name); - if (error) -- goto out_put_bus; -+ goto out_unregister; - - if (drv->bus->p->drivers_autoprobe) { - error = driver_attach(drv); diff --git a/driver/driver-core-fix-kernel-doc-function-parameters.patch b/driver/driver-core-fix-kernel-doc-function-parameters.patch deleted file mode 100644 index bd5b21a3e1256c..00000000000000 --- a/driver/driver-core-fix-kernel-doc-function-parameters.patch +++ /dev/null @@ -1,47 +0,0 @@ -From randy.dunlap@oracle.com Mon Feb 18 13:09:55 2008 -From: Randy Dunlap <randy.dunlap@oracle.com> -Date: Mon, 18 Feb 2008 13:09:03 -0800 -Subject: [PATCH] driver-core: fix kernel-doc function parameters -To: lkml <linux-kernel@vger.kernel.org> -Cc: gregkh <greg@kroah.com> -Message-ID: <20080218130903.ae375db8.randy.dunlap@oracle.com> - - -From: Randy Dunlap <randy.dunlap@oracle.com> - -Fix drivers/base/ missing kernel-doc parameters: -Warning(linux-2.6.24-git12//drivers/base/driver.c:133): No description found for parameter 'drv' -Warning(linux-2.6.24-git12//drivers/base/driver.c:133): No description found for parameter 'kobj' -Warning(linux-2.6.24-git12//drivers/base/driver.c:133): No description found for parameter 'fmt' -Warning(linux-2.6.24-git12//drivers/base/power/main.c:530): No description found for parameter 'state' - -Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/base/driver.c | 3 +++ - drivers/base/power/main.c | 1 + - 2 files changed, 4 insertions(+) - ---- a/drivers/base/driver.c -+++ b/drivers/base/driver.c -@@ -120,6 +120,9 @@ EXPORT_SYMBOL_GPL(driver_remove_file); - - /** - * driver_add_kobj - add a kobject below the specified driver -+ * @drv: requesting device driver -+ * @kobj: kobject to add below this driver -+ * @fmt: format string that names the kobject - * - * You really don't want to do this, this is only here due to one looney - * iseries driver, go poke those developers if you are annoyed about ---- a/drivers/base/power/main.c -+++ b/drivers/base/power/main.c -@@ -523,6 +523,7 @@ static void lock_all_devices(void) - - /** - * device_suspend - Save state and stop all devices in system. -+ * @state: new power management state - * - * Prevent new devices from being registered, then lock all devices - * and suspend them. diff --git a/driver/driver-core-pm-make-suspend_device-static.patch b/driver/driver-core-pm-make-suspend_device-static.patch deleted file mode 100644 index 05c477422a9a63..00000000000000 --- a/driver/driver-core-pm-make-suspend_device-static.patch +++ /dev/null @@ -1,33 +0,0 @@ -From rjw@sisk.pl Sun Feb 3 14:03:13 2008 -From: Adrian Bunk <bunk@kernel.org> -Date: Sun, 3 Feb 2008 22:55:18 +0100 -Subject: Driver core: PM: Make suspend_device() static -To: Len Brown <lenb@kernel.org> -Cc: ACPI Devel Maling List <linux-acpi@vger.kernel.org>, Pavel Machek <pavel@ucw.cz>, pm list <linux-pm@lists.linux-foundation.org>, Greg KH <greg@kroah.com>, Adrian Bunk <bunk@kernel.org> -Message-ID: <200802032255.19835.rjw@sisk.pl> -Content-Disposition: inline - - -From: Adrian Bunk <bunk@kernel.org> - -suspend_device() can become static. - -Signed-off-by: Adrian Bunk <bunk@kernel.org> -Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/base/power/main.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/base/power/main.c -+++ b/drivers/base/power/main.c -@@ -415,7 +415,7 @@ EXPORT_SYMBOL_GPL(device_power_down); - * @dev: Device. - * @state: Power state device is entering. - */ --int suspend_device(struct device *dev, pm_message_t state) -+static int suspend_device(struct device *dev, pm_message_t state) - { - int error = 0; - diff --git a/driver/fix-broken-utf-8-encodings-in-ja_jp-translation-of-stable_kernel_rules.txt.patch b/driver/fix-broken-utf-8-encodings-in-ja_jp-translation-of-stable_kernel_rules.txt.patch deleted file mode 100644 index 4359584c3b64e4..00000000000000 --- a/driver/fix-broken-utf-8-encodings-in-ja_jp-translation-of-stable_kernel_rules.txt.patch +++ /dev/null @@ -1,148 +0,0 @@ -From tshibata@ab.jp.nec.com Wed Feb 13 22:03:03 2008 -From: Tsugikazu Shibata <tshibata@ab.jp.nec.com> -Date: Thu, 14 Feb 2008 14:21:34 +0900 (JST) -Subject: Fix broken utf-8 encodings in ja_JP translation of stable_kernel_rules.txt -To: gregkh@suse.de -Cc: tshibata@ab.jp.nec.com -Message-ID: <20080214.142134.85416607.tshibata@ab.jp.nec.com> - -From: Tsugikazu Shibata <tshibata@ab.jp.nec.com> - -Fix the UTF-8 broken encodings in the ja_JP version of stable_kernel_rules.txt - -From: Tsugikazu Shibata <tshibata@ab.jp.nec.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - Documentation/ja_JP/stable_kernel_rules.txt | 114 ++++++++++++++-------------- - 1 file changed, 57 insertions(+), 57 deletions(-) - ---- a/Documentation/ja_JP/stable_kernel_rules.txt -+++ b/Documentation/ja_JP/stable_kernel_rules.txt -@@ -11,69 +11,69 @@ comment or update of this file, please t - file at first. - - ================================== --ããã¯ã -+これは、 - linux-2.6.24/Documentation/stable_kernel_rules.txt --ã®å訳ã§ãã -+の和訳です。 - --翻訳å£ä½ï¼ JF ããã¸ã§ã¯ã < http://www.linux.or.jp/JF/ > --翻訳æ¥ï¼ 2007/12/30 --翻訳è
ï¼ Tsugikazu Shibata <tshibata at ab dot jp dot nec dot com> --æ ¡æ£è
ï¼ æ¦äºä¼¸å
ããã<takei at webmasters dot gr dot jp> -- ããããã (Seiji Kaneko) <skaneko at a2 dot mbn dot or dot jp> -- å°æ é
å
¸ãã (Masanori Kobayasi) <zap03216 at nifty dot ne dot jp> -- éå£ãã (Kenji Noguchi) <tokyo246 at gmail dot com> -- ç¥å®®ä¿¡å¤ªéãã <jin at libjingu dot jp> -+翻訳団体: JF プロジェクト < http://www.linux.or.jp/JF/ > -+翻訳日: 2007/12/30 -+翻訳者: Tsugikazu Shibata <tshibata at ab dot jp dot nec dot com> -+校正者: 武井伸光さん、<takei at webmasters dot gr dot jp> -+ かねこさん (Seiji Kaneko) <skaneko at a2 dot mbn dot or dot jp> -+ 小林 雅典さん (Masanori Kobayasi) <zap03216 at nifty dot ne dot jp> -+ 野口さん (Kenji Noguchi) <tokyo246 at gmail dot com> -+ 神宮信太郎さん <jin at libjingu dot jp> - ================================== - --ãã£ã¨ç¥ãããã£ã Linux 2.6 -stable ãªãªã¼ã¹ã®å
¨ã¦ -+ずっと知りたかった Linux 2.6 -stable リリースの全て - --"-stable" ããªã¼ã«ã©ã®ãããªç¨®é¡ã®ããããåãå
¥ããããããã©ã®ãã㪠--ãã®ãåãå
¥ããããªãããã«ã¤ãã¦ã®è¦å- -+"-stable" ツリーにどのような種類のパッチが受け入れられるか、どのような -+ものが受け入れられないか、についての規則- - -- - æããã«æ£ããããã¹ãããã¦ãããã®ã§ãªããã°ãªããªãã -- - æè(夿´è¡ã®åå¾)ãå«ã㦠100 è¡ãã大ããã¦ã¯ãããªãã -- - ãã ä¸åã®ãã¨ã ããä¿®æ£ãã¦ããã¹ãã -- - çãæ©ã¾ãã¦ããæ¬ç©ã®ãã°ãä¿®æ£ããªããã°ãªããªãã("ããã¯ãã°ã§ -- ãããããããªãã..." ã®ãããªãã®ã§ã¯ãªã) -- - ãã«ãã¨ã©ã¼(CONFIG_BROKENã«ãªã£ã¦ãããã®ãé¤ã), oops, ãã³ã°ããã¼ -- ã¿ç ´å£ãç¾å®ã®ã»ãã¥ãªãã£åé¡ããã®ä» "ãããããã¯ãã¡ã ã"ã¨ãã -- ãããªãã®ãä¿®æ£ããªããã°ãªããªããçãè¨ãã°ãé大ãªåé¡ã -- - ã©ã®ããã«ç«¶åç¶æ
ãçºçãããã®èª¬æãä¸ç·ã«æ¸ããã¦ããªãéãã -- "çè«çã«ã¯ç«¶åç¶æ
ã«ãªã"ãããªãã®ã¯ä¸å¯ã -- - ãããªãäºç´°ãªä¿®æ£ãå«ãããã¨ã¯ã§ããªãã(ã¹ãã«ã®ä¿®æ£ã空ç½ã®ã¯ãªã¼ -- ã³ã¢ãããªã©) -- - 対å¿ãããµãã·ã¹ãã ã¡ã³ãããåãå
¥ãããã®ã§ãªããã°ãªããªãã -- - Documentation/SubmittingPatches ã®è¦åã«å¾ã£ããã®ã§ãªããã°ãªããªãã -- ---stable ããªã¼ã«ããããéä»ããæç¶ã- -- -- - ä¸è¨ã®è¦åã«å¾ã£ã¦ãããã確èªããå¾ã«ãstable@kernel.org ã«ããã -- ãéãã -- - éä¿¡è
ã¯ãããããã¥ã¼ã«åãä»ããããéã«ã¯ ACK ããå´ä¸ãããå ´å -- ã«ã¯ NAK ãåãåãããã®åå¿ã¯éçºè
ãã¡ã®ã¹ã±ã¸ã¥ã¼ã«ã«ãã£ã¦ãæ° -- æ¥ãããå ´åãããã -- - ããåãåããããããããã¯ä»ã®éçºè
ãã¡ã®ã¬ãã¥ã¼ã®ããã« -- -stable ãã¥ã¼ã«è¿½å ãããã -- - ã»ãã¥ãªãã£ãããã¯ãã®ã¨ã¤ãªã¢ã¹ (stable@kernel.org) ã«éãããã¹ -- ãã§ã¯ãªãã代ããã« security@kernel.org ã®ã¢ãã¬ã¹ã«éãããã -- --ã¬ãã¥ã¼ãµã¤ã¯ã«- -- -- - -stable ã¡ã³ãããã¬ãã¥ã¼ãµã¤ã¯ã«ã決ããã¨ãããããã¯ã¬ãã¥ã¼å§ -- å¡ä¼ã¨ããããå½±é¿ããé åã®ã¡ã³ãã(æä¾è
ããã®é åã®ã¡ã³ããã§ç¡ -- ãéã)ã«éãããlinux-kernel ã¡ã¼ãªã³ã°ãªã¹ãã«CCãããã -- - ã¬ãã¥ã¼å§å¡ä¼ã¯ 48æéã®éã« ACK ã NAK ãåºãã -- - ããããããå§å¡ä¼ã®ã¡ã³ãããå´ä¸ããããã¡ã³ããéãã¡ã³ããæ°ä» -- ããªãã£ãåé¡ãæã¡ããããlinux-kernel ã¡ã³ãããããã«ç°è°ãå±ã -- ãå ´åã«ã¯ããããã¯ãã¥ã¼ããåé¤ãããã -- - ã¬ãã¥ã¼ãµã¤ã¯ã«ã®æå¾ã«ãACK ãåãããããã¯ææ°ã® -stable ãªãªã¼ -- ã¹ã«è¿½å ããããã®å¾ã«æ°ãã -stable ãªãªã¼ã¹ãè¡ãããã -- - ã»ãã¥ãªãã£ãããã¯ãé常ã®ã¬ãã¥ã¼ãµã¤ã¯ã«ãéãããã»ãã¥ãªã㣠-- ã«ã¼ãã«ãã¼ã ããç´æ¥ -stable ããªã¼ã«åãä»ããããã -- ãã®æç¶ãã®è©³ç´°ã«ã¤ãã¦ã¯ kernel security ãã¼ã ã«åãåããããã¨ã -+ - 明らかに正しく、テストされているものでなければならない。 -+ - 文脈(変更行の前後)を含めて 100 行より大きくてはいけない。 -+ - ただ一個のことだけを修正しているべき。 -+ - 皆を悩ませている本物のバグを修正しなければならない。("これはバグで -+ あるかもしれないが..." のようなものではない) -+ - ビルドエラー(CONFIG_BROKENになっているものを除く), oops, ハング、デー -+ タ破壊、現実のセキュリティ問題、その他 "ああ、これはダメだね"という -+ ようなものを修正しなければならない。短く言えば、重大な問題。 -+ - どのように競合状態が発生するかの説明も一緒に書かれていない限り、 -+ "理論的には競合状態になる"ようなものは不可。 -+ - いかなる些細な修正も含めることはできない。(スペルの修正、空白のクリー -+ ンアップなど) -+ - 対応するサブシステムメンテナが受け入れたものでなければならない。 -+ - Documentation/SubmittingPatches の規則に従ったものでなければならない。 -+ -+-stable ツリーにパッチを送付する手続き- -+ -+ - 上記の規則に従っているかを確認した後に、stable@kernel.org にパッチ -+ を送る。 -+ - 送信者はパッチがキューに受け付けられた際には ACK を、却下された場合 -+ には NAK を受け取る。この反応は開発者たちのスケジュールによって、数 -+ 日かかる場合がある。 -+ - もし受け取られたら、パッチは他の開発者たちのレビューのために -+ -stable キューに追加される。 -+ - セキュリティパッチはこのエイリアス (stable@kernel.org) に送られるべ -+ きではなく、代わりに security@kernel.org のアドレスに送られる。 -+ -+レビューサイクル- -+ -+ - -stable メンテナがレビューサイクルを決めるとき、パッチはレビュー委 -+ 員会とパッチが影響する領域のメンテナ(提供者がその領域のメンテナで無 -+ い限り)に送られ、linux-kernel メーリングリストにCCされる。 -+ - レビュー委員会は 48時間の間に ACK か NAK を出す。 -+ - もしパッチが委員会のメンバから却下されるか、メンテナ達やメンバが気付 -+ かなかった問題が持ちあがり、linux-kernel メンバがパッチに異議を唱え -+ た場合には、パッチはキューから削除される。 -+ - レビューサイクルの最後に、ACK を受けたパッチは最新の -stable リリー -+ スに追加され、その後に新しい -stable リリースが行われる。 -+ - セキュリティパッチは、通常のレビューサイクルを通らず、セキュリティ -+ カーネルチームから直接 -stable ツリーに受け付けられる。 -+ この手続きの詳細については kernel security チームに問い合わせること。 - --ã¬ãã¥ã¼å§å¡ä¼- -+レビュー委員会- - -- - ãã®å§å¡ä¼ã¯ããã®ã¿ã¹ã¯ã«ã¤ãã¦æ´»åããå¤ãã®ãã©ã³ãã£ã¢ã¨ãå°æ°ã® -- éãã©ã³ãã£ã¢ã®ã«ã¼ãã«éçºè
éã§æ§æããã¦ããã -+ - この委員会は、このタスクについて活動する多くのボランティアと、少数の -+ 非ボランティアのカーネル開発者達で構成されている。 - diff --git a/driver/ide-mark-ide-reverse-option-as-obsolete.patch b/driver/ide-mark-ide-reverse-option-as-obsolete.patch deleted file mode 100644 index 9234bac372c49b..00000000000000 --- a/driver/ide-mark-ide-reverse-option-as-obsolete.patch +++ /dev/null @@ -1,36 +0,0 @@ -From bzolnier@gmail.com Wed Feb 13 14:07:15 2008 -From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> -Date: Wed, 13 Feb 2008 23:20:36 +0100 -Subject: ide: mark "ide=reverse" option as obsolete -To: Greg KH <greg@kroah.com> -Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>, muli@il.ibm.com, jdmason@kudzu.us, linux-ide@vger.kernel.org, linux-pci@atrey.karlin.mff.cuni.cz, linux-kernel@vger.kernel.org, discuss@x86-64.org -Message-ID: <200802132320.37172.bzolnier@gmail.com> -Content-Disposition: inline - -From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> - -- it is valid only if "Probe IDE PCI devices in the PCI bus order - (DEPRECATED)" config option is used - -- Greg needs to remove pci_get_device_reverse() for PCI core changes - -Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> -Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> -Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/ide/ide.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/ide/ide.c -+++ b/drivers/ide/ide.c -@@ -1229,7 +1229,7 @@ static int __init ide_setup(char *s) - if (!strcmp(s, "ide=reverse")) { - ide_scan_direction = 1; - printk(" : Enabled support for IDE inverse scan order.\n"); -- return 1; -+ goto obsolete_option; - } - #endif - diff --git a/driver/modules-do-not-try-to-add-sysfs-attributes-if-config_sysfs.patch b/driver/modules-do-not-try-to-add-sysfs-attributes-if-config_sysfs.patch deleted file mode 100644 index e04efd75fd1692..00000000000000 --- a/driver/modules-do-not-try-to-add-sysfs-attributes-if-config_sysfs.patch +++ /dev/null @@ -1,52 +0,0 @@ -From kay.sievers@vrfy.org Wed Feb 20 16:02:13 2008 -From: Kay Sievers <kay.sievers@vrfy.org> -Date: Thu, 21 Feb 2008 00:33:20 +0100 -Subject: modules: do not try to add sysfs attributes if !CONFIG_SYSFS -Message-ID: <1203550400.2894.1.camel@lov.site> - - -Thanks to Alexey for the testing and the fix of the fix. - -Cc: Alexey Dobriyan <adobriyan@sw.ru> -Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - kernel/module.c | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) - ---- a/kernel/module.c -+++ b/kernel/module.c -@@ -987,12 +987,11 @@ static unsigned long resolve_symbol(Elf_ - return ret; - } - -- - /* - * /sys/module/foo/sections stuff - * J. Corbet <corbet@lwn.net> - */ --#ifdef CONFIG_KALLSYMS -+#if defined(CONFIG_KALLSYMS) && defined(CONFIG_SYSFS) - static ssize_t module_sect_show(struct module_attribute *mattr, - struct module *mod, char *buf) - { -@@ -1188,7 +1187,7 @@ static inline void add_notes_attrs(struc - static inline void remove_notes_attrs(struct module *mod) - { - } --#endif /* CONFIG_KALLSYMS */ -+#endif - - #ifdef CONFIG_SYSFS - int module_add_modinfo_attrs(struct module *mod) -@@ -1231,9 +1230,7 @@ void module_remove_modinfo_attrs(struct - } - kfree(mod->modinfo_attrs); - } --#endif - --#ifdef CONFIG_SYSFS - int mod_sysfs_init(struct module *mod) - { - int err; diff --git a/driver/pm-remove-unbalanced-mutex_unlock-from-dpm_resume.patch b/driver/pm-remove-unbalanced-mutex_unlock-from-dpm_resume.patch deleted file mode 100644 index 8dc46730afb728..00000000000000 --- a/driver/pm-remove-unbalanced-mutex_unlock-from-dpm_resume.patch +++ /dev/null @@ -1,32 +0,0 @@ -From rjw@sisk.pl Wed Feb 20 12:56:19 2008 -From: "Rafael J. Wysocki" <rjw@sisk.pl> -Date: Wed, 20 Feb 2008 02:01:41 +0100 -Subject: PM: Remove unbalanced mutex_unlock() from dpm_resume() -To: Greg KH <greg@kroah.com> -Cc: ACPI Devel Maling List <linux-acpi@vger.kernel.org>, Alan Stern <stern@rowland.harvard.edu>, Len Brown <lenb@kernel.org>, "Linux-pm mailing list" <linux-pm@lists.osdl.org>, LKML <linux-kernel@vger.kernel.org>, Pavel Machek <pavel@ucw.cz> -Message-ID: <200802200201.42543.rjw@sisk.pl> -Content-Disposition: inline - -From: Rafael J. Wysocki <rjw@sisk.pl> - -Remove an unnecessary unlocking of dpm_list_mtx in the error path -in drivers/base/power/main.c:dpm_suspend() . - -Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> -Acked-by: Alan Stern <stern@rowland.harvard.edu> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/base/power/main.c | 1 - - 1 file changed, 1 deletion(-) - ---- a/drivers/base/power/main.c -+++ b/drivers/base/power/main.c -@@ -479,7 +479,6 @@ static int dpm_suspend(pm_message_t stat - mutex_lock(&dpm_list_mtx); - if (list_empty(&dev->power.entry)) - list_add(&dev->power.entry, &dpm_locked); -- mutex_unlock(&dpm_list_mtx); - break; - } - mutex_lock(&dpm_list_mtx); diff --git a/driver/powerpc-fix-typo-in-pseries-power.c.patch b/driver/powerpc-fix-typo-in-pseries-power.c.patch deleted file mode 100644 index 1910c80bb9d603..00000000000000 --- a/driver/powerpc-fix-typo-in-pseries-power.c.patch +++ /dev/null @@ -1,36 +0,0 @@ -From sfr@canb.auug.org.au Wed Feb 20 12:57:53 2008 -From: Stephen Rothwell <sfr@canb.auug.org.au> -Date: Wed, 20 Feb 2008 11:27:04 +1100 -Subject: POWERPC: fix typo in pseries/power.c -To: paulus@samba.org -Cc: ppc-dev <linuxppc-dev@ozlabs.org>, Greg KH <greg@kroah.com> -Message-ID: <20080220112704.0ac7d7f2.sfr@canb.auug.org.au> - - -Introduced by commit 79393fc46ede43451a500a132e5de9856f5a4c83 ("kobject: -convert pseries/power.c to kobj_attr interface"). - -sys_create_file takes a "struct attrbute *" not a "struct kobj_addribute *". - -arch/powerpc/platforms/pseries/power.c: In function 'apo_pm_init': -arch/powerpc/platforms/pseries/power.c:78: warning: passing argument 2 of 'sysfs_create_file' from incompatible pointer type - -Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> -Cc: Paul Mackerras <paulus@au.ibm.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - arch/powerpc/platforms/pseries/power.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/arch/powerpc/platforms/pseries/power.c -+++ b/arch/powerpc/platforms/pseries/power.c -@@ -75,7 +75,7 @@ core_initcall(pm_init); - #else - static int __init apo_pm_init(void) - { -- return (sysfs_create_file(power_kobj, &auto_poweron_attr)); -+ return (sysfs_create_file(power_kobj, &auto_poweron_attr.attr)); - } - __initcall(apo_pm_init); - #endif diff --git a/driver/slabinfo-fall-back-from-sys-kernel-slab-to-sys-slab.patch b/driver/slabinfo-fall-back-from-sys-kernel-slab-to-sys-slab.patch deleted file mode 100644 index 8ea18e6a4abb4f..00000000000000 --- a/driver/slabinfo-fall-back-from-sys-kernel-slab-to-sys-slab.patch +++ /dev/null @@ -1,35 +0,0 @@ -From akpm@linux-foundation.org Mon Feb 4 23:35:34 2008 -From: Christoph Lameter <clameter@sgi.com> -Date: Mon, 04 Feb 2008 23:35:48 -0800 -Subject: slabinfo: fall back from /sys/kernel/slab to /sys/slab -To: greg@kroah.com -Cc: akpm@linux-foundation.org, clameter@sgi.com -Message-ID: <200802050735.m157ZUH3009868@imap1.linux-foundation.org> - - -From: Christoph Lameter <clameter@sgi.com> - -I keep running upstream and mm kernels and the location of the slab -directory is different since upstream still uses /sys/slab. This patch -makes slabinfo check /sys/slab if /sys/kernel/slab is not there. Makes -slabinfo work on any kernel. - -Signed-off-by: Christoph Lameter <clameter@sgi.com> -Signed-off-by: Andrew Morton <akpm@linux-foundation.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - Documentation/vm/slabinfo.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/Documentation/vm/slabinfo.c -+++ b/Documentation/vm/slabinfo.c -@@ -1123,7 +1123,7 @@ void read_slab_dir(void) - char *t; - int count; - -- if (chdir("/sys/kernel/slab")) -+ if (chdir("/sys/kernel/slab") && chdir("/sys/slab")) - fatal("SYSFS support for SLUB not active\n"); - - dir = opendir("."); diff --git a/driver/stable_kernel_rules-fix-must-already-be-in-mainline.patch b/driver/stable_kernel_rules-fix-must-already-be-in-mainline.patch deleted file mode 100644 index 736b0ed0e8f0fc..00000000000000 --- a/driver/stable_kernel_rules-fix-must-already-be-in-mainline.patch +++ /dev/null @@ -1,44 +0,0 @@ -From stefanr@s5r6.in-berlin.de Fri Feb 8 14:27:15 2008 -From: Stefan Richter <stefanr@s5r6.in-berlin.de> -Date: Fri, 8 Feb 2008 23:26:02 +0100 (CET) -Subject: stable_kernel_rules: fix must already be in mainline -To: Greg KH <gregkh@suse.de> -Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org -Message-ID: <tkrat.eb4a03c77d59701f@s5r6.in-berlin.de> -Content-Disposition: INLINE - -From: Stefan Richter <stefanr@s5r6.in-berlin.de> - -stable_kernel_rules: fix must already be in mainline - -Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - Documentation/stable_kernel_rules.txt | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - ---- a/Documentation/stable_kernel_rules.txt -+++ b/Documentation/stable_kernel_rules.txt -@@ -16,8 +16,9 @@ Rules on what kind of patches are accept - race can be exploited is also provided. - - It cannot contain any "trivial" fixes in it (spelling changes, - whitespace cleanups, etc). -- - It must be accepted by the relevant subsystem maintainer. - - It must follow the Documentation/SubmittingPatches rules. -+ - It or an equivalent fix must already exist in Linus' tree. Quote the -+ respective commit ID in Linus' tree in your patch submission to -stable. - - - Procedure for submitting patches to the -stable tree: -@@ -28,7 +29,9 @@ Procedure for submitting patches to the - queue, or a NAK if the patch is rejected. This response might take a few - days, according to the developer's schedules. - - If accepted, the patch will be added to the -stable queue, for review by -- other developers. -+ other developers and by the relevant subsystem maintainer. -+ - If the stable@kernel.org address is added to a patch, when it goes into -+ Linus's tree it will automatically be emailed to the stable team. - - Security patches should not be sent to this alias, but instead to the - documented security@kernel.org address. - diff --git a/driver/uio-fix-greg-s-stupid-changes.patch b/driver/uio-fix-greg-s-stupid-changes.patch deleted file mode 100644 index 80751cafa6e9d0..00000000000000 --- a/driver/uio-fix-greg-s-stupid-changes.patch +++ /dev/null @@ -1,106 +0,0 @@ -From brandon@ifup.org Wed Feb 20 12:58:52 2008 -From: Brandon Philips <brandon@ifup.org> -Date: Tue, 19 Feb 2008 01:55:05 -0800 -Subject: UIO: fix Greg's stupid changes -To: Greg KH <greg@kroah.com> -Cc: Hans-J??rgen Koch <hjk@linutronix.de>, linux-kernel@vger.kernel.org -Message-ID: <20080219095505.GA875@plankton.ifup.org> -Content-Disposition: inline - - -This fixes two bugs with UIO that cropped up recently in -rc1 - -1) WARNING: at fs/sysfs/file.c:334 sysfs_open_file when trying to open - a map addr/size file - complaining about missing sysfs_ops for ktype - -2) Permission denied when reading uio/uio0/maps/map0/{addr,size} when - files are mode S_IRUGO - -Also fix a typo: attr_attribute -> addr_attribute - -Signed-off-by: Brandon Philips <bphilips@suse.de> -Signed-off-by: Hans J. Koch <hjk@linutronix.de> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/uio/uio.c | 54 +++++++++++++++++++++++++++++++++++++----------------- - 1 file changed, 37 insertions(+), 17 deletions(-) - ---- a/drivers/uio/uio.c -+++ b/drivers/uio/uio.c -@@ -57,29 +57,29 @@ struct uio_map { - }; - #define to_map(map) container_of(map, struct uio_map, kobj) - -- --static ssize_t map_attr_show(struct kobject *kobj, struct kobj_attribute *attr, -- char *buf) -+static ssize_t map_addr_show(struct uio_mem *mem, char *buf) - { -- struct uio_map *map = to_map(kobj); -- struct uio_mem *mem = map->mem; -- -- if (strncmp(attr->attr.name, "addr", 4) == 0) -- return sprintf(buf, "0x%lx\n", mem->addr); -- -- if (strncmp(attr->attr.name, "size", 4) == 0) -- return sprintf(buf, "0x%lx\n", mem->size); -+ return sprintf(buf, "0x%lx\n", mem->addr); -+} - -- return -ENODEV; -+static ssize_t map_size_show(struct uio_mem *mem, char *buf) -+{ -+ return sprintf(buf, "0x%lx\n", mem->size); - } - --static struct kobj_attribute attr_attribute = -- __ATTR(addr, S_IRUGO, map_attr_show, NULL); --static struct kobj_attribute size_attribute = -- __ATTR(size, S_IRUGO, map_attr_show, NULL); -+struct uio_sysfs_entry { -+ struct attribute attr; -+ ssize_t (*show)(struct uio_mem *, char *); -+ ssize_t (*store)(struct uio_mem *, const char *, size_t); -+}; -+ -+static struct uio_sysfs_entry addr_attribute = -+ __ATTR(addr, S_IRUGO, map_addr_show, NULL); -+static struct uio_sysfs_entry size_attribute = -+ __ATTR(size, S_IRUGO, map_size_show, NULL); - - static struct attribute *attrs[] = { -- &attr_attribute.attr, -+ &addr_attribute.attr, - &size_attribute.attr, - NULL, /* need to NULL terminate the list of attributes */ - }; -@@ -90,8 +90,28 @@ static void map_release(struct kobject * - kfree(map); - } - -+static ssize_t map_type_show(struct kobject *kobj, struct attribute *attr, -+ char *buf) -+{ -+ struct uio_map *map = to_map(kobj); -+ struct uio_mem *mem = map->mem; -+ struct uio_sysfs_entry *entry; -+ -+ entry = container_of(attr, struct uio_sysfs_entry, attr); -+ -+ if (!entry->show) -+ return -EIO; -+ -+ return entry->show(mem, buf); -+} -+ -+static struct sysfs_ops uio_sysfs_ops = { -+ .show = map_type_show, -+}; -+ - static struct kobj_type map_attr_type = { - .release = map_release, -+ .sysfs_ops = &uio_sysfs_ops, - .default_attrs = attrs, - }; - diff --git a/pci/pci-amd-sata-ide-mode-quirk.patch b/pci/pci-amd-sata-ide-mode-quirk.patch deleted file mode 100644 index 169e71cbfe0026..00000000000000 --- a/pci/pci-amd-sata-ide-mode-quirk.patch +++ /dev/null @@ -1,60 +0,0 @@ -From Crane.Cai@amd.com Fri Feb 1 22:01:02 2008 -From: Crane Cai <crane.cai@amd.com> -Date: Sat, 2 Feb 2008 13:56:56 +0800 -Subject: PCI: AMD SATA IDE mode quirk -To: gregkh@suse.de -Cc: linux-kernel@vger.kernel.org, linux-pci@atrey.karlin.mff.cuni.cz -Message-ID: <206C6845C72CAE439DC3D9D413C571A487B327@ssuzexmb3.amd.com> - - -From: Crane Cai <crane.cai@amd.com> - -PCI: modify SATA IDE mode quirk -When initialize and resume, SB600/700/800 need to set SATA mode -correctly. - -Signed-off-by: Crane Cai <crane.cai@amd.com> -Acked-by: Jeff Garzik <jeff@garzik.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/pci/quirks.c | 17 ++++++++++------- - 1 file changed, 10 insertions(+), 7 deletions(-) - ---- a/drivers/pci/quirks.c -+++ b/drivers/pci/quirks.c -@@ -867,13 +867,13 @@ static void quirk_disable_pxb(struct pci - DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82454NX, quirk_disable_pxb); - DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82454NX, quirk_disable_pxb); - -- --static void __devinit quirk_sb600_sata(struct pci_dev *pdev) -+static void __devinit quirk_amd_ide_mode(struct pci_dev *pdev) - { -- /* set sb600 sata to ahci mode */ -- if ((pdev->class >> 8) == PCI_CLASS_STORAGE_IDE) { -- u8 tmp; -+ /* set sb600/sb700/sb800 sata to ahci mode */ -+ u8 tmp; - -+ pci_read_config_byte(pdev, PCI_CLASS_DEVICE, &tmp); -+ if (tmp == 0x01) { - pci_read_config_byte(pdev, 0x40, &tmp); - pci_write_config_byte(pdev, 0x40, tmp|1); - pci_write_config_byte(pdev, 0x9, 1); -@@ -881,10 +881,13 @@ static void __devinit quirk_sb600_sata(s - pci_write_config_byte(pdev, 0x40, tmp); - - pdev->class = PCI_CLASS_STORAGE_SATA_AHCI; -+ dev_info(&pdev->dev, "set SATA to AHCI mode\n"); - } - } --DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP600_SATA, quirk_sb600_sata); --DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP700_SATA, quirk_sb600_sata); -+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP600_SATA, quirk_amd_ide_mode); -+DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP600_SATA, quirk_amd_ide_mode); -+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP700_SATA, quirk_amd_ide_mode); -+DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP700_SATA, quirk_amd_ide_mode); - - /* - * Serverworks CSB5 IDE does not fully support native mode diff --git a/pci/pci-don-t-load-acpi_php-when-acpi-is-disabled.patch b/pci/pci-don-t-load-acpi_php-when-acpi-is-disabled.patch deleted file mode 100644 index 314721da332002..00000000000000 --- a/pci/pci-don-t-load-acpi_php-when-acpi-is-disabled.patch +++ /dev/null @@ -1,66 +0,0 @@ -From akpm@linux-foundation.org Tue Feb 5 00:01:50 2008 -From: Yinghai Lu <Yinghai.Lu@Sun.COM> -Date: Tue, 05 Feb 2008 00:01:48 -0800 -Subject: PCI: don't load acpi_php when acpi is disabled -To: mingo@elte.hu -Cc: tglx@linutronix.de, akpm@linux-foundation.org, Yinghai.Lu@Sun.COM, greg@kroah.com, kristen.c.accardi@intel.com, yinghai.lu@Sun.COM -Message-ID: <200802050801.m1581TIT011123@imap1.linux-foundation.org> - - -From: Yinghai Lu <Yinghai.Lu@Sun.COM> - -When acpi=off and pci=nomsi, don't load acpiphp. - -Fixes this: - -pci_hotplug: PCI Hot Plug PCI Core version: 0.5 -acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5 -ACPI Exception (utmutex-0263): AE_BAD_PARAMETER, Thread -FFFF81103CC54000 could not acquire Mutex [1] [20070126] - -[akpm@linux-foundation.org: export acpi_pci_disabled for acpiphp.ko] -[akpm@linux-foundation.org: fix return statement] -Signed-off-by: Yinghai Lu <yinghai.lu@sun.com> -Cc: Kristen Carlson Accardi <kristen.c.accardi@intel.com> -Signed-off-by: Andrew Morton <akpm@linux-foundation.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - arch/x86/kernel/acpi/boot.c | 3 ++- - drivers/pci/hotplug/acpiphp_core.c | 6 ++++++ - 2 files changed, 8 insertions(+), 1 deletion(-) - ---- a/arch/x86/kernel/acpi/boot.c -+++ b/arch/x86/kernel/acpi/boot.c -@@ -72,7 +72,8 @@ static inline int acpi_madt_oem_check(ch - #define PREFIX "ACPI: " - - int acpi_noirq; /* skip ACPI IRQ initialization */ --int acpi_pci_disabled __initdata; /* skip ACPI PCI scan and IRQ initialization */ -+int acpi_pci_disabled; /* skip ACPI PCI scan and IRQ initialization */ -+EXPORT_SYMBOL(acpi_pci_disabled); - int acpi_ht __initdata = 1; /* enable HT */ - - int acpi_lapic; ---- a/drivers/pci/hotplug/acpiphp_core.c -+++ b/drivers/pci/hotplug/acpiphp_core.c -@@ -392,6 +392,9 @@ static int __init acpiphp_init(void) - { - info(DRIVER_DESC " version: " DRIVER_VERSION "\n"); - -+ if (acpi_pci_disabled) -+ return 0; -+ - acpiphp_debug = debug; - - /* read all the ACPI info from the system */ -@@ -401,6 +404,9 @@ static int __init acpiphp_init(void) - - static void __exit acpiphp_exit(void) - { -+ if (acpi_pci_disabled) -+ return; -+ - /* deallocate internal data structures etc. */ - acpiphp_glue_exit(); - } diff --git a/pci/pci-drivers-pcmcia-i82092.c-fix-up-after-pci_bus_region-changes.patch b/pci/pci-drivers-pcmcia-i82092.c-fix-up-after-pci_bus_region-changes.patch deleted file mode 100644 index 586f9e4df8d890..00000000000000 --- a/pci/pci-drivers-pcmcia-i82092.c-fix-up-after-pci_bus_region-changes.patch +++ /dev/null @@ -1,39 +0,0 @@ -From akpm@linux-foundation.org Mon Feb 4 23:35:38 2008 -From: Andrew Morton <akpm@linux-foundation.org> -Date: Mon, 04 Feb 2008 23:35:48 -0800 -Subject: PCI: drivers/pcmcia/i82092.c: fix up after pci_bus_region changes -To: greg@kroah.com -Cc: akpm@linux-foundation.org, benh@kernel.crashing.org -Message-ID: <200802050735.m157ZTdO009865@imap1.linux-foundation.org> - - -From: Andrew Morton <akpm@linux-foundation.org> - -drivers/pcmcia/i82092.c: In function 'i82092aa_set_mem_map': -drivers/pcmcia/i82092.c:650: warning: format '%lx' expects type 'long unsigned int', but argument 3 has type 'resource_size_t' -drivers/pcmcia/i82092.c:650: warning: format '%lx' expects type 'long unsigned int', but argument 4 has type 'resource_size_t' - -Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> -Signed-off-by: Andrew Morton <akpm@linux-foundation.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/pcmcia/i82092.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - ---- a/drivers/pcmcia/i82092.c -+++ b/drivers/pcmcia/i82092.c -@@ -647,7 +647,12 @@ static int i82092aa_set_mem_map(struct p - if ( (mem->card_start > 0x3ffffff) || (region.start > region.end) || - (mem->speed > 1000) ) { - leave("i82092aa_set_mem_map: invalid address / speed"); -- printk("invalid mem map for socket %i : %lx to %lx with a start of %x \n",sock,region.start, region.end, mem->card_start); -+ printk("invalid mem map for socket %i: %llx to %llx with a " -+ "start of %x\n", -+ sock, -+ (unsigned long long)region.start, -+ (unsigned long long)region.end, -+ mem->card_start); - return -EINVAL; - } - diff --git a/pci/pci-fix-up-setup-bus.c-ifdef.patch b/pci/pci-fix-up-setup-bus.c-ifdef.patch deleted file mode 100644 index 8c0bfc0b9228ba..00000000000000 --- a/pci/pci-fix-up-setup-bus.c-ifdef.patch +++ /dev/null @@ -1,36 +0,0 @@ -From akpm@linux-foundation.org Mon Feb 4 23:49:57 2008 -From: Andrew Morton <akpm@linux-foundation.org> -Date: Mon, 04 Feb 2008 23:50:12 -0800 -Subject: PCI: fix up setup-bus.c #ifdef -To: greg@kroah.com -Cc: akpm@linux-foundation.org, benh@kernel.crashing.org -Message-ID: <200802050749.m157nr3o010504@imap1.linux-foundation.org> - - -From: Andrew Morton <akpm@linux-foundation.org> - -Use upper_32_bits(): no code changes, one less ifdef. - -Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> -Signed-off-by: Andrew Morton <akpm@linux-foundation.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/pci/setup-bus.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - ---- a/drivers/pci/setup-bus.c -+++ b/drivers/pci/setup-bus.c -@@ -206,10 +206,8 @@ pci_setup_bridge(struct pci_bus *bus) - if (bus->resource[2]->flags & IORESOURCE_PREFETCH) { - l = (region.start >> 16) & 0xfff0; - l |= region.end & 0xfff00000; --#ifdef CONFIG_RESOURCES_64BIT -- bu = region.start >> 32; -- lu = region.end >> 32; --#endif -+ bu = upper_32_bits(region.start); -+ lu = upper_32_bits(region.end); - DBG(KERN_INFO " PREFETCH window: 0x%016llx-0x%016llx\n", - (unsigned long long)region.start, - (unsigned long long)region.end); diff --git a/pci/pci-fix-wrong-reference-counter-check-for-proc_dir_entry.patch b/pci/pci-fix-wrong-reference-counter-check-for-proc_dir_entry.patch deleted file mode 100644 index 98b52dfbae7f4c..00000000000000 --- a/pci/pci-fix-wrong-reference-counter-check-for-proc_dir_entry.patch +++ /dev/null @@ -1,57 +0,0 @@ -From kaneshige.kenji@jp.fujitsu.com Thu Feb 21 13:36:36 2008 -From: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> -Date: Thu, 21 Feb 2008 15:24:16 +0900 -Subject: PCI: Fix wrong reference counter check for proc_dir_entry -To: linux-pci@atrey.karlin.mff.cuni.cz -Cc: Greg KH <gregkh@suse.de> -Message-ID: <47BD1910.2020202@jp.fujitsu.com> - - -Fix wrong counter check for proc_dir_entry in pci_proc_detach_device(). - -The pci_proc_detach_device() returns with -EBUSY before calling -remove_proc_entry() if the reference counter of proc_dir_entry is not -0. But this check is wrong and pci_proc_detach_device() always fails -because the reference counter of proc_dir_entry is initialized with 1 -at creating time and decremented in remove_proc_entry(). This bug -cause strange behaviour as followings: - -- Accessing /proc/bus/pci/XXXX/YY file after hot-removing pci adapter - card causes kernel panic. - -- Repeating hot-add/hot-remove of pci adapter card increases files - with the same name under /proc/bus/pci/XXXX/ directory. For example: - - # pwd - /proc/bus/pci/0002:09 - # ls - 01.0 - # for i in `seq 5` - > do - > echo 0 > /sys/bus/pci/slots/0009_0032/power - > echo 1 > /sys/bus/pci/slots/0009_0032/power - > done - # ls - 01.0 01.0 01.0 01.0 01.0 01.0 - -The pci_proc_detach_device() should check if the reference counter is -not larger than 1 instead. - -Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/pci/proc.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/pci/proc.c -+++ b/drivers/pci/proc.c -@@ -422,7 +422,7 @@ int pci_proc_detach_device(struct pci_de - struct proc_dir_entry *e; - - if ((e = dev->procent)) { -- if (atomic_read(&e->count)) -+ if (atomic_read(&e->count) > 1) - return -EBUSY; - remove_proc_entry(e->name, dev->bus->procdir); - dev->procent = NULL; diff --git a/pci/pci-hotplug-acpiphp_ibm-remove-get-device-information.patch b/pci/pci-hotplug-acpiphp_ibm-remove-get-device-information.patch deleted file mode 100644 index 11ac6de11467cc..00000000000000 --- a/pci/pci-hotplug-acpiphp_ibm-remove-get-device-information.patch +++ /dev/null @@ -1,81 +0,0 @@ -From kristen.c.accardi@intel.com Wed Feb 6 15:43:41 2008 -From: Gary Hade <garyhade@us.ibm.com> -Date: Wed, 06 Feb 2008 15:43:05 -0800 -Subject: PCI: hotplug: acpiphp_ibm: Remove get device information -To: gregkh@suse.de -Cc: Gary Hade <garyhade@us.ibm.com>, Kristen Carlson Accardi <kristen.c.accardi@intel.com> -Message-ID: <20080206234341.647778049@intel.com> - - -From: Gary Hade <garyhade@us.ibm.com> - -drivers/pci/hotplug/acpiphp_ibm.c:ibm_find_acpi_device() is not -large enough to accommodate data returned by the _CID method -executed from acpi_get_object_info(). - -This patch eliminates the problem by letting ACPI code -(instead of driver code) determine and obtain a correctly -sized buffer. - -Signed-off-by: Gary Hade <garyhade@us.ibm.com> -Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/pci/hotplug/acpiphp_ibm.c | 35 ++++++++++++++++++----------------- - 1 file changed, 18 insertions(+), 17 deletions(-) - ---- a/drivers/pci/hotplug/acpiphp_ibm.c -+++ b/drivers/pci/hotplug/acpiphp_ibm.c -@@ -395,33 +395,34 @@ static acpi_status __init ibm_find_acpi_ - { - acpi_handle *phandle = (acpi_handle *)context; - acpi_status status; -- struct acpi_device_info info; -- struct acpi_buffer info_buffer = { -- .length = sizeof(struct acpi_device_info), -- .pointer = &info, -- }; -+ struct acpi_device_info *info; -+ struct acpi_buffer info_buffer = { ACPI_ALLOCATE_BUFFER, NULL }; -+ int retval = 0; - - status = acpi_get_object_info(handle, &info_buffer); - if (ACPI_FAILURE(status)) { -- err("%s: Failed to get device information\n", __FUNCTION__); -- return 0; -- } -- info.hardware_id.value[sizeof(info.hardware_id.value) - 1] = '\0'; -- -- if (info.current_status && (info.valid & ACPI_VALID_HID) && -- (!strcmp(info.hardware_id.value, IBM_HARDWARE_ID1) || -- !strcmp(info.hardware_id.value, IBM_HARDWARE_ID2))) { -- dbg("found hardware: %s, handle: %p\n", info.hardware_id.value, -- handle); -+ err("%s: Failed to get device information status=0x%x\n", -+ __FUNCTION__, status); -+ return retval; -+ } -+ info = info_buffer.pointer; -+ info->hardware_id.value[sizeof(info->hardware_id.value) - 1] = '\0'; -+ -+ if (info->current_status && (info->valid & ACPI_VALID_HID) && -+ (!strcmp(info->hardware_id.value, IBM_HARDWARE_ID1) || -+ !strcmp(info->hardware_id.value, IBM_HARDWARE_ID2))) { -+ dbg("found hardware: %s, handle: %p\n", -+ info->hardware_id.value, handle); - *phandle = handle; - /* returning non-zero causes the search to stop - * and returns this value to the caller of - * acpi_walk_namespace, but it also causes some warnings - * in the acpi debug code to print... - */ -- return FOUND_APCI; -+ retval = FOUND_APCI; - } -- return 0; -+ kfree(info); -+ return retval; - } - - static int __init ibm_acpiphp_init(void) diff --git a/pci/pci-irq-patch-for-intel-ich10-deviceid-s.patch b/pci/pci-irq-patch-for-intel-ich10-deviceid-s.patch deleted file mode 100644 index 8e1d058e36e071..00000000000000 --- a/pci/pci-irq-patch-for-intel-ich10-deviceid-s.patch +++ /dev/null @@ -1,31 +0,0 @@ -From jason.d.gaston@intel.com Mon Jan 28 16:22:11 2008 -From: Jason Gaston <jason.d.gaston@intel.com> -Date: Mon, 28 Jan 2008 17:24:37 -0800 -Subject: PCI: irq: patch for Intel ICH10 DeviceID's -To: gregkh@suse.de, linux-kernel@vger.kernel.org, linux-pci@atrey.karlin.mff.cuni.cz, jason.d.gaston@intel.com -Message-ID: <200801281724.37858.jason.d.gaston@intel.com> -Content-Disposition: inline - - -This patch adds the Intel ICH10 LPC Controller DeviceID's. - -Signed-off-by: Jason Gaston <jason.d.gaston@intel.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - arch/x86/pci/irq.c | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/arch/x86/pci/irq.c -+++ b/arch/x86/pci/irq.c -@@ -583,6 +583,10 @@ static __init int intel_router_probe(str - case PCI_DEVICE_ID_INTEL_ICH9_4: - case PCI_DEVICE_ID_INTEL_ICH9_5: - case PCI_DEVICE_ID_INTEL_TOLAPAI_0: -+ case PCI_DEVICE_ID_INTEL_ICH10_0: -+ case PCI_DEVICE_ID_INTEL_ICH10_1: -+ case PCI_DEVICE_ID_INTEL_ICH10_2: -+ case PCI_DEVICE_ID_INTEL_ICH10_3: - r->name = "PIIX/ICH"; - r->get = pirq_piix_get; - r->set = pirq_piix_set; diff --git a/pci/pci-kernel-doc-fix-pci-acpi-warning.patch b/pci/pci-kernel-doc-fix-pci-acpi-warning.patch deleted file mode 100644 index a01de3598d8392..00000000000000 --- a/pci/pci-kernel-doc-fix-pci-acpi-warning.patch +++ /dev/null @@ -1,31 +0,0 @@ -From rdunlap@xenotime.net Sun Feb 3 15:06:30 2008 -From: Randy Dunlap <randy.dunlap@oracle.com> -Date: Sun, 3 Feb 2008 15:06:25 -0800 (PST) -Subject: PCI: kernel-doc: fix pci-acpi warning -To: linux-kernel@vger.kernel.org -Cc: greg@kroah.com, len.brown@intel.com, akpm@linux-foundation.org -Message-ID: <Pine.LNX.4.64.0802031444390.3021@shark.he.net> - - -From: Randy Dunlap <randy.dunlap@oracle.com> - -Fix PCI kernel-doc warning: -Warning(linux-2.6.24-git12//drivers/pci/pci-acpi.c:166): No description found for parameter 'hid' - -Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/pci/pci-acpi.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/drivers/pci/pci-acpi.c -+++ b/drivers/pci/pci-acpi.c -@@ -158,6 +158,7 @@ run_osc_out: - /** - * __pci_osc_support_set - register OS support to Firmware - * @flags: OS support bits -+ * @hid: hardware ID - * - * Update OS support fields and doing a _OSC Query to obtain an update - * from Firmware on supported control bits. diff --git a/pci/pci-pci_ids-patch-for-intel-ich10-deviceid-s.patch b/pci/pci-pci_ids-patch-for-intel-ich10-deviceid-s.patch deleted file mode 100644 index 056112b3b6c6e1..00000000000000 --- a/pci/pci-pci_ids-patch-for-intel-ich10-deviceid-s.patch +++ /dev/null @@ -1,34 +0,0 @@ -From jason.d.gaston@intel.com Mon Jan 28 16:17:15 2008 -From: Jason Gaston <jason.d.gaston@intel.com> -Date: Mon, 28 Jan 2008 17:20:36 -0800 -Subject: PCI: pci_ids: patch for Intel ICH10 DeviceID's -To: gregkh@suse.de, linux-kernel@vger.kernel.org, linux-pci@atrey.karlin.mff.cuni.cz, khali@linux-fr.org, i2c@lm-sensors.nu, jason.d.gaston@intel.com -Message-ID: <200801281720.37350.jason.d.gaston@intel.com> -Content-Disposition: inline - - -This patch adds the Intel ICH10 LPC and SMBus Controller DeviceID's. - -Signed-off-by: Jason Gaston <jason.d.gaston@intel.com> -Cc: Jean Delvare <khali@linux-fr.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - include/linux/pci_ids.h | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/include/linux/pci_ids.h -+++ b/include/linux/pci_ids.h -@@ -2374,6 +2374,12 @@ - #define PCI_DEVICE_ID_INTEL_MCH_PC1 0x359a - #define PCI_DEVICE_ID_INTEL_E7525_MCH 0x359e - #define PCI_DEVICE_ID_INTEL_IOAT_CNB 0x360b -+#define PCI_DEVICE_ID_INTEL_ICH10_0 0x3a14 -+#define PCI_DEVICE_ID_INTEL_ICH10_1 0x3a16 -+#define PCI_DEVICE_ID_INTEL_ICH10_2 0x3a18 -+#define PCI_DEVICE_ID_INTEL_ICH10_3 0x3a1a -+#define PCI_DEVICE_ID_INTEL_ICH10_4 0x3a30 -+#define PCI_DEVICE_ID_INTEL_ICH10_5 0x3a60 - #define PCI_DEVICE_ID_INTEL_IOAT_SNB 0x402f - #define PCI_DEVICE_ID_INTEL_IOAT_SCNB 0x65ff - #define PCI_DEVICE_ID_INTEL_TOLAPAI_0 0x5031 diff --git a/pci/pci-quirks-set-en-bit-of-msi-mapping-for-devices-onht-based-nvidia-platform.patch b/pci/pci-quirks-set-en-bit-of-msi-mapping-for-devices-onht-based-nvidia-platform.patch deleted file mode 100644 index de553e9ce2cb5a..00000000000000 --- a/pci/pci-quirks-set-en-bit-of-msi-mapping-for-devices-onht-based-nvidia-platform.patch +++ /dev/null @@ -1,102 +0,0 @@ -From akpm@linux-foundation.org Mon Feb 4 23:50:08 2008 -From: Peer Chen <pchen@nvidia.com> -Date: Mon, 04 Feb 2008 23:50:13 -0800 -Subject: PCI: quirks: set 'En' bit of MSI Mapping for devices onHT-based nvidia platform -To: greg@kroah.com -Cc: akpm@linux-foundation.org, pchen@nvidia.com, acurrid@nvidia.com, ak@suse.de, ebiederm@xmission.com, mingo@elte.hu, tglx@linutronix.de -Message-ID: <200802050749.m157ns4a010507@imap1.linux-foundation.org> - - -From: Peer Chen <pchen@nvidia.com> - -According to HT spec, to get message interrupt from devices mapped to HT -interrupt message, the 'En' bit of MSI Mapping capability need to be set. -The patch do this setting in quirks code for the devices on HT-based nvidia -platform. - -[akpm@linux-foundation.org: coding-style fixes] - -Signed-off-by: Andy Currid <acurrid@nvidia.com> -Signed-off-by: Peer Chen <pchen@nvidia.com> -Cc: "Eric W. Biederman" <ebiederm@xmission.com> -Cc: Ingo Molnar <mingo@elte.hu> -Cc: Thomas Gleixner <tglx@linutronix.de> -Cc: Andi Kleen <ak@suse.de> -Signed-off-by: Andrew Morton <akpm@linux-foundation.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/pci/quirks.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 62 insertions(+) - ---- a/drivers/pci/quirks.c -+++ b/drivers/pci/quirks.c -@@ -1778,6 +1778,68 @@ static void __devinit quirk_nvidia_ck804 - DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_CK804_PCIE, - quirk_nvidia_ck804_msi_ht_cap); - -+/* -+ * Force enable MSI mapping capability on HT bridges */ -+static inline void ht_enable_msi_mapping(struct pci_dev *dev) -+{ -+ int pos, ttl = 48; -+ -+ pos = pci_find_ht_capability(dev, HT_CAPTYPE_MSI_MAPPING); -+ while (pos && ttl--) { -+ u8 flags; -+ -+ if (pci_read_config_byte(dev, pos + HT_MSI_FLAGS, -+ &flags) == 0) { -+ dev_info(&dev->dev, "Enabling HT MSI Mapping\n"); -+ -+ pci_write_config_byte(dev, pos + HT_MSI_FLAGS, -+ flags | HT_MSI_FLAGS_ENABLE); -+ } -+ pos = pci_find_next_ht_capability(dev, pos, -+ HT_CAPTYPE_MSI_MAPPING); -+ } -+} -+ -+static void __devinit nv_msi_ht_cap_quirk(struct pci_dev *dev) -+{ -+ struct pci_dev *host_bridge; -+ int pos, ttl = 48; -+ -+ /* -+ * HT MSI mapping should be disabled on devices that are below -+ * a non-Hypertransport host bridge. Locate the host bridge... -+ */ -+ host_bridge = pci_get_bus_and_slot(0, PCI_DEVFN(0, 0)); -+ if (host_bridge == NULL) { -+ dev_warn(&dev->dev, -+ "nv_msi_ht_cap_quirk didn't locate host bridge\n"); -+ return; -+ } -+ -+ pos = pci_find_ht_capability(host_bridge, HT_CAPTYPE_SLAVE); -+ if (pos != 0) { -+ /* Host bridge is to HT */ -+ ht_enable_msi_mapping(dev); -+ return; -+ } -+ -+ /* Host bridge is not to HT, disable HT MSI mapping on this device */ -+ pos = pci_find_ht_capability(dev, HT_CAPTYPE_MSI_MAPPING); -+ while (pos && ttl--) { -+ u8 flags; -+ -+ if (pci_read_config_byte(dev, pos + HT_MSI_FLAGS, -+ &flags) == 0) { -+ dev_info(&dev->dev, "Quirk disabling HT MSI mapping"); -+ pci_write_config_byte(dev, pos + HT_MSI_FLAGS, -+ flags & ~HT_MSI_FLAGS_ENABLE); -+ } -+ pos = pci_find_next_ht_capability(dev, pos, -+ HT_CAPTYPE_MSI_MAPPING); -+ } -+} -+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, PCI_ANY_ID, nv_msi_ht_cap_quirk); -+ - static void __devinit quirk_msi_intx_disable_bug(struct pci_dev *dev) - { - dev->dev_flags |= PCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG; diff --git a/pending/pci-make-pci-extended-config-space-a-driver-opt-in.patch b/pending/pci-make-pci-extended-config-space-a-driver-opt-in.patch deleted file mode 100644 index 0eedb1f4fbf244..00000000000000 --- a/pending/pci-make-pci-extended-config-space-a-driver-opt-in.patch +++ /dev/null @@ -1,454 +0,0 @@ -From arjan@infradead.org Fri Jan 11 11:01:13 2008 -From: Arjan van de Ven <arjan@infradead.org> -Date: Tue, 25 Dec 2007 03:26:05 -0800 -Subject: PCI: Make PCI extended config space (MMCONFIG) a driver opt-in -To: linux-kernel@vger.kernel.org -Cc: Jeff Garzik <jeff@garzik.org>, Linus Torvalds <torvalds@linux-foundation.org>, gregkh@suse.de, inux-pci@atrey.karlin.mff.cuni.cz, Benjamin Herrenschmidt <benh@kernel.crashing.org>, Martin Mares <mj@ucw.cz>, Matthew Wilcox <matthew@wil.cx> -Message-ID: <20071225032605.29147200@laptopd505.fenrus.org> - - -From: Arjan van de Ven <arjan@linux.intel.com> - -On PCs, PCI extended configuration space (4Kb) is riddled with problems -associated with the memory mapped access method (MMCONFIG). At the same -time, there are very few machines that actually need or use this -extended configuration space. - -At this point in time, the only sensible action is to make access to the -extended configuration space an opt-in operation for those device -drivers that need/want access to this space, as well as for those -userland diagnostics utilities that (on admin request) want to access -this space. - -It's inevitable that this is done per device rather than per bus; we'll -be needing per device PCI quirks to turn this extended config space off -over time no matter what; in addition, it gives the least amount of -surprise: loading a driver for a device only impacts that one device, -not a whole bus worth of devices (although it'll be common to have one -physical device per bus on PCI-E). - -The (desireable) side-effect of this patch is that all enumeration is -done using normal configuration cycles. - -The patch below splits the lower level PCI config space operation (which -operate on a bus) in two: one that normally only operates on traditional -space, and one that gets used after the driver has opted in to using the -extended configuration space. This has lead to a little code -duplication, but it's not all that bad (most of it is prototypes in -headers and such). - -Architectures that have a solid reliable way to get to extended -configuration space can just keep doing what they do now and allow -extended space access from the "traditional" bus ops, and just not fill -in the new bus ops. (This could include x86 for, say, BIOS year 2009 -and later, but doesn't right now) - -This patch also adds a sysfs property for each device into which root -can write a '1' to enable extended configuration space. The kernel will -print a notice into dmesg when this happens (including the name of the -app) so that if the system crashes as a result of this action, the user -can know what action/tool caused it. - - -Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - Documentation/ABI/testing/sysfs-pci-extended-config | 36 +++++++++++++++ - arch/x86/pci/common.c | 23 +++++++++ - arch/x86/pci/init.c | 10 ++++ - arch/x86/pci/mmconfig_32.c | 2 - arch/x86/pci/mmconfig_64.c | 2 - arch/x86/pci/pci.h | 2 - drivers/pci/access.c | 46 +++++++++++++++++++ - drivers/pci/pci-sysfs.c | 32 +++++++++++++ - drivers/pci/pci.c | 28 +++++++++++ - include/linux/pci.h | 47 +++++++++++++++++--- - 10 files changed, 220 insertions(+), 8 deletions(-) - ---- /dev/null -+++ b/Documentation/ABI/testing/sysfs-pci-extended-config -@@ -0,0 +1,36 @@ -+What: /sys/devices/pci<bus>/<device>/extended_config_space -+Date: January 11, 2008 -+Contact: Arjan van de Ven <arjan@linux.intel.com> -+Description: -+ This attribute is for use for system-diagnostic software -+ only. -+ -+ The kernel may decide to restrict PCI configuration space -+ access for userspace to the first 64 or 256 bytes by -+ default, for stability reasons. This attribute, when -+ present, can be used to request access to the full -+ 4Kb from the kernel. -+ -+ Request to get access to the full 4Kb can be done by -+ writing a '1' into this attribute file. All other values -+ are reserved for future use and should not be used by -+ software at this point. -+ -+ The kernel may log the request to the various kernel -+ logging services. The kernel may decide to ignore the -+ request if the kernel deems extended configuration space -+ access not reliable enough for the system or the device. -+ The kernel may decide to not present this attribute -+ if the kernel decides extended config space is reliable -+ and made available by default, or if the kernel decides -+ that extended configuration space will never be -+ accessible. -+ -+ Software needs to gracefully deal with getting the -+ access not granted. Software also needs to gracefully deal -+ with this attribute not being present. -+ -+ Due to the fragility of extended configuration space, -+ system diagnostic software should only set this attribute -+ on explicit user request, or in the case of GUI like tools, -+ at least with explicit user permission. ---- a/arch/x86/pci/common.c -+++ b/arch/x86/pci/common.c -@@ -26,6 +26,7 @@ int pcibios_last_bus = -1; - unsigned long pirq_table_addr; - struct pci_bus *pci_root_bus; - struct pci_raw_ops *raw_pci_ops; -+struct pci_raw_ops *raw_pci_ops_extcfg; - - static int pci_read(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 *value) - { -@@ -39,9 +40,31 @@ static int pci_write(struct pci_bus *bus - devfn, where, size, value); - } - -+static int pci_read_ext(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 *value) -+{ -+ if (raw_pci_ops_extcfg) -+ return raw_pci_ops_extcfg->read(pci_domain_nr(bus), bus->number, -+ devfn, where, size, value); -+ else -+ return raw_pci_ops->read(pci_domain_nr(bus), bus->number, -+ devfn, where, size, value); -+} -+ -+static int pci_write_ext(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 value) -+{ -+ if (raw_pci_ops_extcfg) -+ return raw_pci_ops_extcfg->write(pci_domain_nr(bus), bus->number, -+ devfn, where, size, value); -+ else -+ return raw_pci_ops->write(pci_domain_nr(bus), bus->number, -+ devfn, where, size, value); -+} -+ - struct pci_ops pci_root_ops = { - .read = pci_read, - .write = pci_write, -+ .readext = pci_read_ext, -+ .writeext = pci_write_ext, - }; - - /* ---- a/arch/x86/pci/init.c -+++ b/arch/x86/pci/init.c -@@ -14,6 +14,16 @@ static __init int pci_access_init(void) - #ifdef CONFIG_PCI_MMCONFIG - pci_mmcfg_init(type); - #endif -+ /* if we ONLY have MMCONFIG, we need to use it always */ -+ if (!raw_pci_ops && raw_pci_ops_extcfg) { -+ printk(KERN_INFO "No direct PCI access, using MMCONFIG always\n"); -+ raw_pci_ops = raw_pci_ops_extcfg; -+ } -+ -+ /* -+ * we've found a usable method; this means we can skip -+ * the potentially dangerous BIOS based methods -+ */ - if (raw_pci_ops) - return 0; - #ifdef CONFIG_PCI_BIOS ---- a/arch/x86/pci/mmconfig_32.c -+++ b/arch/x86/pci/mmconfig_32.c -@@ -143,6 +143,6 @@ int __init pci_mmcfg_arch_reachable(unsi - int __init pci_mmcfg_arch_init(void) - { - printk(KERN_INFO "PCI: Using MMCONFIG\n"); -- raw_pci_ops = &pci_mmcfg; -+ raw_pci_ops_extcfg = &pci_mmcfg; - return 1; - } ---- a/arch/x86/pci/mmconfig_64.c -+++ b/arch/x86/pci/mmconfig_64.c -@@ -152,6 +152,6 @@ int __init pci_mmcfg_arch_init(void) - return 0; - } - } -- raw_pci_ops = &pci_mmcfg; -+ raw_pci_ops_extcfg = &pci_mmcfg; - return 1; - } ---- a/arch/x86/pci/pci.h -+++ b/arch/x86/pci/pci.h -@@ -32,6 +32,8 @@ - extern unsigned int pci_probe; - extern unsigned long pirq_table_addr; - -+extern struct pci_raw_ops *raw_pci_ops_extcfg; -+ - enum pci_bf_sort_state { - pci_bf_sort_default, - pci_force_nobf, ---- a/drivers/pci/access.c -+++ b/drivers/pci/access.c -@@ -51,6 +51,45 @@ int pci_bus_write_config_##size \ - return res; \ - } - -+#define PCI_OP_READ_EXT(size, type, len) \ -+int pci_bus_read_extconfig_##size \ -+ (struct pci_bus *bus, unsigned int devfn, int pos, type *value) \ -+{ \ -+ int res; \ -+ unsigned long flags; \ -+ u32 data = 0; \ -+ if (PCI_##size##_BAD) \ -+ return PCIBIOS_BAD_REGISTER_NUMBER; \ -+ spin_lock_irqsave(&pci_lock, flags); \ -+ if (bus->ops->readext) \ -+ res = bus->ops->readext(bus, devfn, pos, len, &data); \ -+ else \ -+ res = bus->ops->read(bus, devfn, pos, len, &data); \ -+ *value = (type)data; \ -+ spin_unlock_irqrestore(&pci_lock, flags); \ -+ return res; \ -+} \ -+EXPORT_SYMBOL(pci_bus_read_extconfig_##size); -+ -+#define PCI_OP_WRITE_EXT(size, type, len) \ -+int pci_bus_write_extconfig_##size \ -+ (struct pci_bus *bus, unsigned int devfn, int pos, type value) \ -+{ \ -+ int res; \ -+ unsigned long flags; \ -+ if (PCI_##size##_BAD) \ -+ return PCIBIOS_BAD_REGISTER_NUMBER; \ -+ spin_lock_irqsave(&pci_lock, flags); \ -+ if (bus->ops->writeext) \ -+ res = bus->ops->writeext(bus, devfn, pos, len, value); \ -+ else \ -+ res = bus->ops->write(bus, devfn, pos, len, value); \ -+ spin_unlock_irqrestore(&pci_lock, flags); \ -+ return res; \ -+} \ -+EXPORT_SYMBOL(pci_bus_write_extconfig_##size); -+ -+ - PCI_OP_READ(byte, u8, 1) - PCI_OP_READ(word, u16, 2) - PCI_OP_READ(dword, u32, 4) -@@ -58,6 +97,13 @@ PCI_OP_WRITE(byte, u8, 1) - PCI_OP_WRITE(word, u16, 2) - PCI_OP_WRITE(dword, u32, 4) - -+PCI_OP_READ_EXT(byte, u8, 1) -+PCI_OP_READ_EXT(word, u16, 2) -+PCI_OP_READ_EXT(dword, u32, 4) -+PCI_OP_WRITE_EXT(byte, u8, 1) -+PCI_OP_WRITE_EXT(word, u16, 2) -+PCI_OP_WRITE_EXT(dword, u32, 4) -+ - EXPORT_SYMBOL(pci_bus_read_config_byte); - EXPORT_SYMBOL(pci_bus_read_config_word); - EXPORT_SYMBOL(pci_bus_read_config_dword); ---- a/drivers/pci/pci-sysfs.c -+++ b/drivers/pci/pci-sysfs.c -@@ -21,6 +21,7 @@ - #include <linux/topology.h> - #include <linux/mm.h> - #include <linux/capability.h> -+#include <linux/sched.h> - #include <linux/aspm.h> - #include "pci.h" - -@@ -144,6 +145,35 @@ static ssize_t is_enabled_show(struct de - return sprintf (buf, "%u\n", atomic_read(&pdev->enable_cnt)); - } - -+static ssize_t extended_config_space_store(struct device *dev, -+ struct device_attribute *attr, const char *buf, -+ size_t count) -+{ -+ ssize_t result = -EINVAL; -+ struct pci_dev *pdev = to_pci_dev(dev); -+ -+ /* this can crash the machine when done on the "wrong" device */ -+ if (!capable(CAP_SYS_ADMIN)) -+ return count; -+ -+ if (*buf == '1') { -+ printk(KERN_WARNING "Application %s enabled extended config space for device %s\n", -+ current->comm, pci_name(pdev)); -+ result = pci_enable_ext_config(pdev); -+ } -+ -+ return result < 0 ? result : count; -+} -+ -+static ssize_t extended_config_space_show(struct device *dev, -+ struct device_attribute *attr, char *buf) -+{ -+ struct pci_dev *pdev; -+ -+ pdev = to_pci_dev(dev); -+ return sprintf(buf, "%u\n", pdev->ext_cfg_space); -+} -+ - #ifdef CONFIG_NUMA - static ssize_t - numa_node_show(struct device *dev, struct device_attribute *attr, char *buf) -@@ -207,6 +237,8 @@ struct device_attribute pci_dev_attrs[] - __ATTR_RO(numa_node), - #endif - __ATTR(enable, 0600, is_enabled_show, is_enabled_store), -+ __ATTR(extended_config_space, 0600, extended_config_space_show, -+ extended_config_space_store), - __ATTR(broken_parity_status,(S_IRUGO|S_IWUSR), - broken_parity_status_show,broken_parity_status_store), - __ATTR(msi_bus, 0644, msi_bus_show, msi_bus_store), ---- a/drivers/pci/pci.c -+++ b/drivers/pci/pci.c -@@ -806,6 +806,34 @@ int pci_enable_device(struct pci_dev *de - return __pci_enable_device_flags(dev, IORESOURCE_MEM | IORESOURCE_IO); - } - -+/** -+ * pci_enable_ext_config - Enable extended (4K) config space accesses -+ * @dev: PCI device to be changed -+ * -+ * Enable extended (4Kb) configuration space accesses for a device. -+ * Extended config space is available for PCI-E devices and can -+ * be used for things like PCI AER and other features. However, -+ * due to various stability issues, this can only be done on demand. -+ * -+ * Returns: -1 on failure, 0 on success -+ */ -+ -+int pci_enable_ext_config(struct pci_dev *dev) -+{ -+ if (dev->ext_cfg_space < 0) -+ return -1; -+ if (dev->ext_cfg_space > 0) -+ return 0; -+ dev->ext_cfg_space = 1; -+ /* -+ * now that we enabled large accesse, we -+ * need to update the config space size variable -+ */ -+ dev->cfg_size = pci_cfg_space_size(dev); -+ return 0; -+} -+EXPORT_SYMBOL_GPL(pci_enable_ext_config); -+ - /* - * Managed PCI resources. This manages device on/off, intx/msi/msix - * on/off and BAR regions. pci_dev itself records msi/msix status, so ---- a/include/linux/pci.h -+++ b/include/linux/pci.h -@@ -174,6 +174,15 @@ struct pci_dev { - int cfg_size; /* Size of configuration space */ - - /* -+ * ext_cfg_space gets set by drivers/quirks to device if -+ * extended (4K) config space is desired. -+ * negative values -- hard disabled (quirk etc) -+ * zero -- disabled -+ * positive values -- enable -+ */ -+ int ext_cfg_space; -+ -+ /* - * Instead of touching interrupt line and base address registers - * directly, use the values stored here. They might be different! - */ -@@ -302,6 +311,8 @@ struct pci_bus { - struct pci_ops { - int (*read)(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 *val); - int (*write)(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 val); -+ int (*readext)(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 *val); -+ int (*writeext)(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 val); - }; - - struct pci_raw_ops { -@@ -522,29 +533,48 @@ int pci_bus_write_config_byte (struct pc - int pci_bus_write_config_word (struct pci_bus *bus, unsigned int devfn, int where, u16 val); - int pci_bus_write_config_dword (struct pci_bus *bus, unsigned int devfn, int where, u32 val); - -+int pci_bus_read_extconfig_byte(struct pci_bus *bus, unsigned int devfn, int where, u8 *val); -+int pci_bus_read_extconfig_word(struct pci_bus *bus, unsigned int devfn, int where, u16 *val); -+int pci_bus_read_extconfig_dword(struct pci_bus *bus, unsigned int devfn, int where, u32 *val); -+int pci_bus_write_extconfig_byte(struct pci_bus *bus, unsigned int devfn, int where, u8 val); -+int pci_bus_write_extconfig_word(struct pci_bus *bus, unsigned int devfn, int where, u16 val); -+int pci_bus_write_extconfig_dword(struct pci_bus *bus, unsigned int devfn, int where, u32 val); -+ - static inline int pci_read_config_byte(struct pci_dev *dev, int where, u8 *val) - { -- return pci_bus_read_config_byte (dev->bus, dev->devfn, where, val); -+ if (dev->ext_cfg_space > 0) -+ return pci_bus_read_extconfig_byte(dev->bus, dev->devfn, where, val); -+ return pci_bus_read_config_byte(dev->bus, dev->devfn, where, val); - } - static inline int pci_read_config_word(struct pci_dev *dev, int where, u16 *val) - { -- return pci_bus_read_config_word (dev->bus, dev->devfn, where, val); -+ if (dev->ext_cfg_space > 0) -+ return pci_bus_read_extconfig_word(dev->bus, dev->devfn, where, val); -+ return pci_bus_read_config_word(dev->bus, dev->devfn, where, val); - } - static inline int pci_read_config_dword(struct pci_dev *dev, int where, u32 *val) - { -- return pci_bus_read_config_dword (dev->bus, dev->devfn, where, val); -+ if (dev->ext_cfg_space > 0) -+ return pci_bus_read_extconfig_dword(dev->bus, dev->devfn, where, val); -+ return pci_bus_read_config_dword(dev->bus, dev->devfn, where, val); - } - static inline int pci_write_config_byte(struct pci_dev *dev, int where, u8 val) - { -- return pci_bus_write_config_byte (dev->bus, dev->devfn, where, val); -+ if (dev->ext_cfg_space > 0) -+ return pci_bus_write_extconfig_byte(dev->bus, dev->devfn, where, val); -+ return pci_bus_write_config_byte(dev->bus, dev->devfn, where, val); - } - static inline int pci_write_config_word(struct pci_dev *dev, int where, u16 val) - { -- return pci_bus_write_config_word (dev->bus, dev->devfn, where, val); -+ if (dev->ext_cfg_space > 0) -+ return pci_bus_write_extconfig_word(dev->bus, dev->devfn, where, val); -+ return pci_bus_write_config_word(dev->bus, dev->devfn, where, val); - } - static inline int pci_write_config_dword(struct pci_dev *dev, int where, u32 val) - { -- return pci_bus_write_config_dword (dev->bus, dev->devfn, where, val); -+ if (dev->ext_cfg_space > 0) -+ return pci_bus_write_extconfig_dword(dev->bus, dev->devfn, where, val); -+ return pci_bus_write_config_dword(dev->bus, dev->devfn, where, val); - } - - int __must_check pci_enable_device(struct pci_dev *dev); -@@ -694,6 +724,9 @@ void ht_destroy_irq(unsigned int irq); - extern void pci_block_user_cfg_access(struct pci_dev *dev); - extern void pci_unblock_user_cfg_access(struct pci_dev *dev); - -+extern int pci_enable_ext_config(struct pci_dev *dev); -+ -+ - /* - * PCI domain support. Sometimes called PCI segment (eg by ACPI), - * a PCI domain is defined to be a set of PCI busses which share -@@ -791,6 +824,8 @@ static inline struct pci_dev *pci_get_bu - unsigned int devfn) - { return NULL; } - -+static inline int pci_enable_ext_config(struct pci_dev *dev) { return -1; } -+ - #endif /* CONFIG_PCI */ - - /* Include architecture-dependent settings and functions */ diff --git a/usb/usb-add-another-novatel-u727-id-to-the-device-table-for-usbserial.patch b/usb/usb-add-another-novatel-u727-id-to-the-device-table-for-usbserial.patch deleted file mode 100644 index 6a70821a653568..00000000000000 --- a/usb/usb-add-another-novatel-u727-id-to-the-device-table-for-usbserial.patch +++ /dev/null @@ -1,26 +0,0 @@ -From turkal@google.com Thu Feb 14 14:02:00 2008 -From: Warren Turkal <turkal@google.com> -Date: Thu, 14 Feb 2008 14:01:46 -0800 -Subject: USB: Add another Novatel U727 ID to the device table for usbserial -To: gregkh@suse.de -Cc: linux-usb@vger.kernel.org, turkal@google.com -Message-ID: <12030265063534-git-send-email-turkal@google.com> - - -Signed-off-by: Warren Turkal <turkal@google.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/serial/option.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/drivers/usb/serial/option.c -+++ b/drivers/usb/serial/option.c -@@ -177,6 +177,7 @@ static struct usb_device_id option_ids[] - { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, 0x2410) }, /* Novatel EU740 */ - { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, 0x4100) }, /* Novatel U727 */ - { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, 0x4400) }, /* Novatel MC950 */ -+ { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, 0x5010) }, /* Novatel U727 */ - { USB_DEVICE(DELL_VENDOR_ID, 0x8114) }, /* Dell Wireless 5700 Mobile Broadband CDMA/EVDO Mini-Card == Novatel Expedite EV620 CDMA/EV-DO */ - { USB_DEVICE(DELL_VENDOR_ID, 0x8115) }, /* Dell Wireless 5500 Mobile Broadband HSDPA Mini-Card == Novatel Expedite EU740 HSDPA/3G */ - { USB_DEVICE(DELL_VENDOR_ID, 0x8116) }, /* Dell Wireless 5505 Mobile Broadband HSDPA Mini-Card == Novatel Expedite EU740 HSDPA/3G */ diff --git a/usb/usb-add-new-vernier-product-id-to-ldusb.c.patch b/usb/usb-add-new-vernier-product-id-to-ldusb.c.patch deleted file mode 100644 index 9e71b11b38b1bf..00000000000000 --- a/usb/usb-add-new-vernier-product-id-to-ldusb.c.patch +++ /dev/null @@ -1,38 +0,0 @@ -From stephen.ware@eqware.net Sun Feb 17 11:01:58 2008 -From: Stephen Ware <stephen.ware@eqware.net> -Date: Sun, 17 Feb 2008 11:01:58 -0800 -Subject: USB: add new vernier product id to ldusb.c -To: gregkh@suse.de -Cc: dennis.obrien@eqware.net -Message-ID: <1203274918.29836.21.camel@sware> - - -I have a new ldusb device to go into the device table. Jiri has merged -the change for hiddev quirks already. - - -From: Stephen Ware <stephen.ware@eqware.net> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/misc/ldusb.c | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/drivers/usb/misc/ldusb.c -+++ b/drivers/usb/misc/ldusb.c -@@ -61,6 +61,7 @@ - #define USB_DEVICE_ID_VERNIER_GOTEMP 0x0002 - #define USB_DEVICE_ID_VERNIER_SKIP 0x0003 - #define USB_DEVICE_ID_VERNIER_CYCLOPS 0x0004 -+#define USB_DEVICE_ID_VERNIER_LCSPEC 0x0006 - - #define USB_VENDOR_ID_MICROCHIP 0x04d8 - #define USB_DEVICE_ID_PICDEM 0x000c -@@ -92,6 +93,7 @@ static struct usb_device_id ld_usb_table - { USB_DEVICE(USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_SKIP) }, - { USB_DEVICE(USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_CYCLOPS) }, - { USB_DEVICE(USB_VENDOR_ID_MICROCHIP, USB_DEVICE_ID_PICDEM) }, -+ { USB_DEVICE(USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_LCSPEC) }, - { } /* Terminating entry */ - }; - MODULE_DEVICE_TABLE(usb, ld_usb_table); diff --git a/usb/usb-ehci-fsl-mpc834x-config-symbol-is-ppc_mpc834x-not-mpc834x.patch b/usb/usb-ehci-fsl-mpc834x-config-symbol-is-ppc_mpc834x-not-mpc834x.patch deleted file mode 100644 index 5032b2d060b063..00000000000000 --- a/usb/usb-ehci-fsl-mpc834x-config-symbol-is-ppc_mpc834x-not-mpc834x.patch +++ /dev/null @@ -1,31 +0,0 @@ -From linux-usb-owner@vger.kernel.org Mon Feb 11 04:17:58 2008 -From: Peter Korsgaard <jacmet@sunsite.dk> -Date: Mon, 11 Feb 2008 13:16:26 +0100 -Subject: USB: ehci-fsl: mpc834x config symbol is PPC_MPC834x, not MPC834x -To: linux-usb@vger.kernel.org, david-b@pacbell.net -Cc: Peter Korsgaard <jacmet@sunsite.dk> -Message-ID: <1202732186-7345-1-git-send-email-jacmet@sunsite.dk> - - -The config symbol for mpc834x processors is CONFIG_PPC_MPC834x, -not CONFIG_MPC834x. - -Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> -Acked-by: David Brownell <dbrownell@users.sourceforge.net> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/host/Kconfig | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/usb/host/Kconfig -+++ b/drivers/usb/host/Kconfig -@@ -72,7 +72,7 @@ config USB_EHCI_FSL - bool - depends on USB_EHCI_HCD - select USB_EHCI_ROOT_HUB_TT -- default y if MPC834x || PPC_MPC831x -+ default y if PPC_MPC834x || PPC_MPC831x - ---help--- - Variation of ARC USB block used in some Freescale chips. - diff --git a/usb/usb-fix-error-handling-in-trancevibrator.patch b/usb/usb-fix-error-handling-in-trancevibrator.patch deleted file mode 100644 index 2042928e9f9960..00000000000000 --- a/usb/usb-fix-error-handling-in-trancevibrator.patch +++ /dev/null @@ -1,43 +0,0 @@ -From oliver@neukum.org Wed Jan 30 07:06:11 2008 -From: Oliver Neukum <oliver@neukum.org> -Date: Wed, 30 Jan 2008 16:06:03 +0100 -Subject: USB: fix error handling in trancevibrator -To: sam@zoy.org, linux-usb@vger.kernel.org, Greg KH <greg@kroah.com> -Message-ID: <200801301606.03967.oliver@neukum.org> -Content-Disposition: inline - -trancevibrator should not pretend success if it returns an error. - -Signed-off-by: Oliver Neukum <oneukum@suse.de> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/misc/trancevibrator.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - ---- a/drivers/usb/misc/trancevibrator.c -+++ b/drivers/usb/misc/trancevibrator.c -@@ -59,13 +59,14 @@ static ssize_t set_speed(struct device * - { - struct usb_interface *intf = to_usb_interface(dev); - struct trancevibrator *tv = usb_get_intfdata(intf); -- int temp, retval; -+ int temp, retval, old; - - temp = simple_strtoul(buf, NULL, 10); - if (temp > 255) - temp = 255; - else if (temp < 0) - temp = 0; -+ old = tv->speed; - tv->speed = temp; - - dev_dbg(&tv->udev->dev, "speed = %d\n", tv->speed); -@@ -77,6 +78,7 @@ static ssize_t set_speed(struct device * - tv->speed, /* speed value */ - 0, NULL, 0, USB_CTRL_GET_TIMEOUT); - if (retval) { -+ tv->speed = old; - dev_dbg(&tv->udev->dev, "retval = %d\n", retval); - return retval; - } diff --git a/usb/usb-fix-pm-counter-leak-in-usblp.patch b/usb/usb-fix-pm-counter-leak-in-usblp.patch deleted file mode 100644 index ce21146d8221e0..00000000000000 --- a/usb/usb-fix-pm-counter-leak-in-usblp.patch +++ /dev/null @@ -1,29 +0,0 @@ -From oliver@neukum.org Tue Feb 19 10:27:11 2008 -From: Oliver Neukum <oliver@neukum.org> -Date: Tue, 12 Feb 2008 19:08:30 +0100 -Subject: USB: fix pm counter leak in usblp -To: Pete Zaitcev <zaitcev@redhat.com>, Greg KH <greg@kroah.com>, linux-usb@vger.kernel.org -Message-ID: <200802121908.30655.oliver@neukum.org> -Content-Disposition: inline - - -if you fail in open() you must decrement the pm counter again. - -Signed-off-by: Oliver Neukum <oneukum@suse.de> -Cc: stable <stable@kernel.org> -Signed-off-by: Pete Zaitcev <zaitcev@redhat.com> - ---- - drivers/usb/class/usblp.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/drivers/usb/class/usblp.c -+++ b/drivers/usb/class/usblp.c -@@ -428,6 +428,7 @@ static int usblp_open(struct inode *inod - usblp->rcomplete = 0; - - if (handle_bidir(usblp) < 0) { -+ usb_autopm_put_interface(intf); - usblp->used = 0; - file->private_data = NULL; - retval = -EIO; diff --git a/usb/usb-fix-previous-sparse-fix-which-was-incorrect.patch b/usb/usb-fix-previous-sparse-fix-which-was-incorrect.patch deleted file mode 100644 index 0b08b8b8375b15..00000000000000 --- a/usb/usb-fix-previous-sparse-fix-which-was-incorrect.patch +++ /dev/null @@ -1,56 +0,0 @@ -From linux-usb-owner@vger.kernel.org Sat Feb 2 02:37:08 2008 -From: David Brownell <david-b@pacbell.net> -Date: Sat, 2 Feb 2008 02:36:53 -0800 -Subject: USB: fix previous sparse fix which was incorrect -To: Greg Kroah-Hartman <gregkh@suse.de> -Cc: linux-usb@vger.kernel.org, Marcin Slusarz <marcin.slusarz@gmail.com> -Message-ID: <200802020236.53800.david-b@pacbell.net> -Content-Disposition: inline - - -The previous fix for a "sparse" warning in ehci_urb_dequeue() was -incorrect. After rescheduling interrupt transfers it returned the -URB's completion status, not status for the dequeue operation itself. - -This patch resolves that issue, cleans up the code in the reschedule -path, and shrinks the object code by a dozen bytes. - -Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/host/ehci-hcd.c | 22 +++++++++++----------- - 1 file changed, 11 insertions(+), 11 deletions(-) - ---- a/drivers/usb/host/ehci-hcd.c -+++ b/drivers/usb/host/ehci-hcd.c -@@ -862,18 +862,18 @@ static int ehci_urb_dequeue(struct usb_h - /* reschedule QH iff another request is queued */ - if (!list_empty (&qh->qtd_list) - && HC_IS_RUNNING (hcd->state)) { -- int schedule_status; -+ rc = qh_schedule(ehci, qh); - -- schedule_status = qh_schedule (ehci, qh); -- spin_unlock_irqrestore (&ehci->lock, flags); -- -- if (schedule_status != 0) { -- // shouldn't happen often, but ... -- // FIXME kill those tds' urbs -- err ("can't reschedule qh %p, err %d", -- qh, schedule_status); -- } -- return status; -+ /* An error here likely indicates handshake failure -+ * or no space left in the schedule. Neither fault -+ * should happen often ... -+ * -+ * FIXME kill the now-dysfunctional queued urbs -+ */ -+ if (rc != 0) -+ ehci_err(ehci, -+ "can't reschedule qh %p, err %d", -+ qh, rc); - } - break; - diff --git a/usb/usb-fix-usb-open-suspend-race-in-cdc-acm.patch b/usb/usb-fix-usb-open-suspend-race-in-cdc-acm.patch deleted file mode 100644 index 80fa91dac54e84..00000000000000 --- a/usb/usb-fix-usb-open-suspend-race-in-cdc-acm.patch +++ /dev/null @@ -1,52 +0,0 @@ -From linux-usb-owner@vger.kernel.org Mon Feb 11 06:27:13 2008 -From: Oliver Neukum <oliver@neukum.org> -Date: Mon, 11 Feb 2008 15:22:29 +0100 -Subject: USB: fix usb open suspend race in cdc-acm -To: Greg KH <greg@kroah.com>, linux-usb@vger.kernel.org -Message-ID: <200802111522.29746.oliver@neukum.org> -Content-Disposition: inline - -this fixes a race between open and disconnect in the CDC ACM driver. - -Signed-off-by: Oliver Neukum <oneukum@suse.de> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/class/cdc-acm.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - ---- a/drivers/usb/class/cdc-acm.c -+++ b/drivers/usb/class/cdc-acm.c -@@ -496,13 +496,10 @@ static int acm_tty_open(struct tty_struc - otherwise it is scheduled, and with high data rates data can get lost. */ - tty->low_latency = 1; - -- if (usb_autopm_get_interface(acm->control)) { -- mutex_unlock(&open_mutex); -- return -EIO; -- } -+ if (usb_autopm_get_interface(acm->control) < 0) -+ goto early_bail; - - mutex_lock(&acm->mutex); -- mutex_unlock(&open_mutex); - if (acm->used++) { - usb_autopm_put_interface(acm->control); - goto done; -@@ -536,6 +533,7 @@ static int acm_tty_open(struct tty_struc - done: - err_out: - mutex_unlock(&acm->mutex); -+ mutex_unlock(&open_mutex); - return rv; - - full_bailout: -@@ -544,6 +542,8 @@ bail_out: - usb_autopm_put_interface(acm->control); - acm->used--; - mutex_unlock(&acm->mutex); -+early_bail: -+ mutex_unlock(&open_mutex); - return -EIO; - } - diff --git a/usb/usb-ftdi_sio.c-add-missing.patch b/usb/usb-ftdi_sio.c-add-missing.patch deleted file mode 100644 index 2719056c5ccc8b..00000000000000 --- a/usb/usb-ftdi_sio.c-add-missing.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 12o3l@tiscali.nl Thu Feb 7 10:05:29 2008 -From: Roel Kluin <12o3l@tiscali.nl> -Date: Thu, 07 Feb 2008 01:06:07 +0100 -Subject: USB: ftdi_sio.c add missing '|' -To: Greg KH <gregkh@suse.de> -Cc: linux-usb@vger.kernel.org, ftdi-usb-sio-devel@lists.sourceforge.net, lkml <linux-kernel@vger.kernel.org> -Message-ID: <47AA4B6F.20902@tiscali.nl> - - -add missing '|' - -Signed-off-by: Roel Kluin <12o3l@tiscali.nl> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/serial/ftdi_sio.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/drivers/usb/serial/ftdi_sio.c -+++ b/drivers/usb/serial/ftdi_sio.c -@@ -393,8 +393,8 @@ static const char *ftdi_chip_name[] = { - #define FTDI_STATUS_B1_MASK (FTDI_RS_BI) - /* End TIOCMIWAIT */ - --#define FTDI_IMPL_ASYNC_FLAGS = ( ASYNC_SPD_HI | ASYNC_SPD_VHI \ -- ASYNC_SPD_CUST | ASYNC_SPD_SHI | ASYNC_SPD_WARP ) -+#define FTDI_IMPL_ASYNC_FLAGS = (ASYNC_SPD_HI | ASYNC_SPD_VHI \ -+ | ASYNC_SPD_CUST | ASYNC_SPD_SHI | ASYNC_SPD_WARP) - - /* function prototypes for a FTDI serial converter */ - static int ftdi_sio_probe (struct usb_serial *serial, const struct usb_device_id *id); diff --git a/usb/usb-g_printer-fix-empty-if-statement.patch b/usb/usb-g_printer-fix-empty-if-statement.patch deleted file mode 100644 index afdb956086f193..00000000000000 --- a/usb/usb-g_printer-fix-empty-if-statement.patch +++ /dev/null @@ -1,35 +0,0 @@ -From david-b@pacbell.net Sat Feb 9 03:16:11 2008 -From: Adrian Bunk <bunk@kernel.org> -Date: Sat, 9 Feb 2008 03:16:03 -0800 -Subject: USB: g_printer, fix empty if statement -To: Greg KH <greg@kroah.com> -Cc: Craig W. Nadler <craig@nadler.us>, Adrian Bunk <bunk@kernel.org> -Message-ID: <200802090316.03785.david-b@pacbell.net> -Content-Disposition: inline - - -From: Adrian Bunk <bunk@kernel.org> - -A bug every C programmer makes at some point in time... - -Signed-off-by: Adrian Bunk <bunk@kernel.org> -Signed-off-by: Craig W. Nadler <craig@nadler.us> -Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - - ---- - drivers/usb/gadget/printer.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/usb/gadget/printer.c -+++ b/drivers/usb/gadget/printer.c -@@ -1299,7 +1299,7 @@ printer_unbind(struct usb_gadget *gadget - printer_req_free(dev->in_ep, req); - } - -- if (dev->current_rx_req != NULL); -+ if (dev->current_rx_req != NULL) - printer_req_free(dev->out_ep, dev->current_rx_req); - - while (!list_empty(&dev->rx_reqs)) { diff --git a/usb/usb-gadget-queue-usb-usb_cdc_get_encapsulated_response-message.patch b/usb/usb-gadget-queue-usb-usb_cdc_get_encapsulated_response-message.patch deleted file mode 100644 index 517e7507a99703..00000000000000 --- a/usb/usb-gadget-queue-usb-usb_cdc_get_encapsulated_response-message.patch +++ /dev/null @@ -1,33 +0,0 @@ -From jan.altenberg@linutronix.de Mon Feb 18 16:44:58 2008 -From: Jan Altenberg <jan.altenberg@linutronix.de> -Date: Tue, 19 Feb 2008 01:44:50 +0100 -Subject: USB: gadget: queue usb USB_CDC_GET_ENCAPSULATED_RESPONSE message -To: David Brownell <david-b@pacbell.net> -Cc: tglx@linutronix.de, Greg KH <greg@kroah.com>, linux-kernel@vger.kernel.org -Message-ID: <1203381890.3923.60.camel@bender.lan> - -commit 0cf4f2de0a0f4100795f38ef894d4910678c74f8 introduced a bug, which -prevents sending an USB_CDC_GET_ENCAPSULATED_RESPONSE message. This -breaks the RNDIS initialization (especially / only Windoze machines -dislike this behavior...). - -Signed-off-by: Benedikt Spranger <b.spranger@linutronix.de> -Signed-off-by: Jan Altenberg <jan.altenberg@linutronix.de> -Acked-by: David Brownell <dbrownell@users.sourceforge.net> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - - ---- - drivers/usb/gadget/ether.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/drivers/usb/gadget/ether.c -+++ b/drivers/usb/gadget/ether.c -@@ -1561,6 +1561,7 @@ done_set_intf: - memcpy(req->buf, buf, n); - req->complete = rndis_response_complete; - rndis_free_response(dev->rndis_config, buf); -+ value = n; - } - /* else stalls ... spec says to avoid that */ - } diff --git a/usb/usb-option-add-kyocera-kpc680-ids.patch b/usb/usb-option-add-kyocera-kpc680-ids.patch deleted file mode 100644 index 61eae280f0309c..00000000000000 --- a/usb/usb-option-add-kyocera-kpc680-ids.patch +++ /dev/null @@ -1,36 +0,0 @@ -From dcbw@redhat.com Tue Feb 19 10:17:10 2008 -From: Dan Williams <dcbw@redhat.com> -Date: Tue, 19 Feb 2008 13:15:30 -0500 -Subject: USB: option: Add Kyocera KPC680 ids -To: Greg KH <gregkh@suse.de> -Cc: linux-usb@vger.kernel.org, Matthias Urlichs <smurf@smurf.noris.de>, walters@verbum.org -Message-ID: <1203444930.30973.3.camel@localhost.localdomain> - - -Signed-off-by: Dan Williams <dcbw@redhat.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/serial/option.c | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/drivers/usb/serial/option.c -+++ b/drivers/usb/serial/option.c -@@ -113,6 +113,9 @@ static int option_send_setup(struct usb - #define NOVATELWIRELESS_VENDOR_ID 0x1410 - #define DELL_VENDOR_ID 0x413C - -+#define KYOCERA_VENDOR_ID 0x0c88 -+#define KYOCERA_PRODUCT_KPC680 0x180a -+ - #define ANYDATA_VENDOR_ID 0x16d5 - #define ANYDATA_PRODUCT_ADU_E100A 0x6501 - #define ANYDATA_PRODUCT_ADU_500A 0x6502 -@@ -187,6 +190,7 @@ static struct usb_device_id option_ids[] - { USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_500A) }, - { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_C100_1) }, - { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_C100_2) }, -+ { USB_DEVICE(KYOCERA_VENDOR_ID, KYOCERA_PRODUCT_KPC680) }, - { } /* Terminating entry */ - }; - MODULE_DEVICE_TABLE(usb, option_ids); diff --git a/usb/usb-option-added-vendor-id-for-dell-5720-broadband-modem.patch b/usb/usb-option-added-vendor-id-for-dell-5720-broadband-modem.patch deleted file mode 100644 index 7ac4929218b110..00000000000000 --- a/usb/usb-option-added-vendor-id-for-dell-5720-broadband-modem.patch +++ /dev/null @@ -1,31 +0,0 @@ -From stefan.bader@canonical.com Tue Feb 5 12:25:47 2008 -From: Stefan Bader <stefan.bader@canonical.com> -Date: Tue, 05 Feb 2008 15:25:35 -0500 -Subject: USB: option: Added vendor id for Dell 5720 broadband modem -To: gregkh@novell.com -Message-ID: <47A8C63F.2010207@canonical.com> - - -this is a small patch to add support for a rebranded Novatel modem (see -http://ubuntuforums.org/archive/index.php/t-608388.html for details). - -Signed-off-by: Stefan Bader <stefan.bader@canonical.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/serial/option.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/drivers/usb/serial/option.c -+++ b/drivers/usb/serial/option.c -@@ -183,8 +183,9 @@ static struct usb_device_id option_ids[] - { USB_DEVICE(DELL_VENDOR_ID, 0x8117) }, /* Dell Wireless 5700 Mobile Broadband CDMA/EVDO ExpressCard == Novatel Merlin XV620 CDMA/EV-DO */ - { USB_DEVICE(DELL_VENDOR_ID, 0x8118) }, /* Dell Wireless 5510 Mobile Broadband HSDPA ExpressCard == Novatel Merlin XU870 HSDPA/3G */ - { USB_DEVICE(DELL_VENDOR_ID, 0x8128) }, /* Dell Wireless 5700 Mobile Broadband CDMA/EVDO Mini-Card == Novatel Expedite E720 CDMA/EV-DO */ -- { USB_DEVICE(DELL_VENDOR_ID, 0x8136) }, /* Dell Wireless HSDPA 5520 == Novatel Expedite EU860D */ - { USB_DEVICE(DELL_VENDOR_ID, 0x8129) }, /* Dell Wireless 5700 Mobile Broadband CDMA/EVDO Mini-Card == Novatel Expedite ET620 CDMA/EV-DO */ -+ { USB_DEVICE(DELL_VENDOR_ID, 0x8133) }, /* Dell Wireless 5720 == Novatel EV620 CDMA/EV-DO */ -+ { USB_DEVICE(DELL_VENDOR_ID, 0x8136) }, /* Dell Wireless HSDPA 5520 == Novatel Expedite EU860D */ - { USB_DEVICE(DELL_VENDOR_ID, 0x8137) }, /* Dell Wireless HSDPA 5520 */ - { USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_E100A) }, - { USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_500A) }, diff --git a/usb/usb-powerpc-ehci-fix-ppc-build.patch b/usb/usb-powerpc-ehci-fix-ppc-build.patch deleted file mode 100644 index d20fae5ccac524..00000000000000 --- a/usb/usb-powerpc-ehci-fix-ppc-build.patch +++ /dev/null @@ -1,41 +0,0 @@ -From avorontsov@ru.mvista.com Thu Feb 21 13:34:43 2008 -From: Anton Vorontsov <avorontsov@ru.mvista.com> -Date: Thu, 21 Feb 2008 22:49:13 +0300 -Subject: USB: POWERPC: ehci: fix ppc build -To: linuxppc-dev@ozlabs.org -Cc: linux-usb@vger.kernel.org, dbrownell@users.sourceforge.net -Message-ID: <20080221194913.GB12896@localhost.localdomain> -Content-Disposition: inline - - -Currently, this setup: -CONFIG_USB_ARCH_HAS_EHCI=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_EHCI_HCD_PPC_OF=y - -Will fail to build: - CC drivers/usb/host/ehci-hcd.o -drivers/usb/host/ehci-hcd.c:1018:2: error: #error "missing bus glue for ehci-hcd" -make[3]: *** [drivers/usb/host/ehci-hcd.o] Error 1 - -ehci-hcd.c actually contains OF_PLATFORM_DRIVER glue, so error is bogus. - -Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> -Acked-by: David Brownell <dbrownell@users.sourceforge.net> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/host/ehci-hcd.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/usb/host/ehci-hcd.c -+++ b/drivers/usb/host/ehci-hcd.c -@@ -1014,7 +1014,7 @@ MODULE_LICENSE ("GPL"); - #endif - - #if !defined(PCI_DRIVER) && !defined(PLATFORM_DRIVER) && \ -- !defined(PS3_SYSTEM_BUS_DRIVER) -+ !defined(PS3_SYSTEM_BUS_DRIVER) && !defined(OF_PLATFORM_DRIVER) - #error "missing bus glue for ehci-hcd" - #endif - diff --git a/usb/usb-powerpc-ehci-fsl-handles-other-freescale-processors.patch b/usb/usb-powerpc-ehci-fsl-handles-other-freescale-processors.patch deleted file mode 100644 index e9917eafee5870..00000000000000 --- a/usb/usb-powerpc-ehci-fsl-handles-other-freescale-processors.patch +++ /dev/null @@ -1,40 +0,0 @@ -From avorontsov@ru.mvista.com Thu Feb 21 13:35:14 2008 -From: Anton Vorontsov <avorontsov@ru.mvista.com> -Date: Thu, 21 Feb 2008 23:30:58 +0300 -Subject: USB: POWERPC: ehci-fsl: handles other freescale processors -Subject: Re: [PATCH] [USB POWERPC] ehci-fsl: add PPC_MPC837x to default y -To: Kumar Gala <galak@kernel.crashing.org> -Cc: linuxppc-dev@ozlabs.org, linux-usb@vger.kernel.org -Message-ID: <20080221203058.GA18624@localhost.localdomain> -Content-Disposition: inline - - -From: Anton Vorontsov <avorontsov@ru.mvista.com> - -This patch converts USB_EHCI_FSL config option into the verbose -bool, so we'll able to select it for other freescale processors -with built-in EHCI controller. - -Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> -Cc: Kumar Gala <galak@kernel.crashing.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/host/Kconfig | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - ---- a/drivers/usb/host/Kconfig -+++ b/drivers/usb/host/Kconfig -@@ -69,10 +69,9 @@ config USB_EHCI_BIG_ENDIAN_DESC - default y - - config USB_EHCI_FSL -- bool -- depends on USB_EHCI_HCD -+ bool "Support for Freescale on-chip EHCI USB controller" -+ depends on USB_EHCI_HCD && FSL_SOC - select USB_EHCI_ROOT_HUB_TT -- default y if PPC_MPC834x || PPC_MPC831x - ---help--- - Variation of ARC USB block used in some Freescale chips. - diff --git a/usb/usb-quirks-and-unusual_devs-entry-for-actions-flash-drive.patch b/usb/usb-quirks-and-unusual_devs-entry-for-actions-flash-drive.patch deleted file mode 100644 index b80855fdb34343..00000000000000 --- a/usb/usb-quirks-and-unusual_devs-entry-for-actions-flash-drive.patch +++ /dev/null @@ -1,55 +0,0 @@ -From stern@rowland.harvard.edu Wed Feb 20 12:59:34 2008 -From: Alan Stern <stern@rowland.harvard.edu> -Date: Wed, 20 Feb 2008 12:10:04 -0500 (EST) -Subject: USB: quirks and unusual_devs entry for Actions flash drive -To: Greg KH <greg@kroah.com> -Cc: Fabio Venturi <f.venturi@tdnet.it>, <phil@rowland.harvard.edu>, USB list <linux-usb@vger.kernel.org>, USB Storage list <usb-storage@lists.one-eyed-alien.net> -Message-ID: <Pine.LNX.4.44L0.0802201208130.5630-100000@iolanthe.rowland.org> - - -This patch (as1033) adds a quirks entry and an unusual_devs entry for -the Actions Semiconductor flash drive. This device has a 64-byte -string descriptor, which it doesn't terminate with a 0-length packet. - -Oddly enough, the reporter's logs show that when the device was -plugged in at boot time, it changes its behavior completely -- it uses -a different product ID, product string descriptor, and bDeviceClass. - -Signed-off-by: Alan Stern <stern@rowland.harvard.edu> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/core/quirks.c | 3 +++ - drivers/usb/storage/unusual_devs.h | 9 +++++++++ - 2 files changed, 12 insertions(+) - ---- a/drivers/usb/core/quirks.c -+++ b/drivers/usb/core/quirks.c -@@ -28,6 +28,9 @@ - * devices is broken... - */ - static const struct usb_device_id usb_quirk_list[] = { -+ /* Action Semiconductor flash disk */ -+ { USB_DEVICE(0x10d6, 0x2200), .driver_info = USB_QUIRK_STRING_FETCH_255}, -+ - /* CBM - Flash disk */ - { USB_DEVICE(0x0204, 0x6025), .driver_info = USB_QUIRK_RESET_RESUME }, - /* HP 5300/5370C scanner */ ---- a/drivers/usb/storage/unusual_devs.h -+++ b/drivers/usb/storage/unusual_devs.h -@@ -1500,6 +1500,15 @@ UNUSUAL_DEV( 0x1019, 0x0c55, 0x0000, 0x - US_SC_DEVICE, US_PR_DEVICE, usb_stor_ucr61s2b_init, - 0 ), - -+/* Reported by Fabio Venturi <f.venturi@tdnet.it> -+ * The device reports a vendor-specific bDeviceClass. -+ */ -+UNUSUAL_DEV( 0x10d6, 0x2200, 0x0100, 0x0100, -+ "Actions Semiconductor", -+ "Mtp device", -+ US_SC_DEVICE, US_PR_DEVICE, NULL, -+ 0), -+ - /* Reported by Kevin Lloyd <linux@sierrawireless.com> - * Entry is needed for the initializer function override, - * which instructs the device to load as a modem diff --git a/usb/usb-quirks-for-known-quirky-audio-devices.patch b/usb/usb-quirks-for-known-quirky-audio-devices.patch deleted file mode 100644 index 76237908209319..00000000000000 --- a/usb/usb-quirks-for-known-quirky-audio-devices.patch +++ /dev/null @@ -1,37 +0,0 @@ -From oliver@neukum.org Mon Feb 4 07:35:58 2008 -From: Oliver Neukum <oliver@neukum.org> -Date: Mon, 4 Feb 2008 16:34:11 +0100 -Subject: USB: quirks for known quirky audio devices -To: Greg KH <greg@kroah.com>, linux-usb@vger.kernel.org -Message-ID: <200802041634.11921.oliver@neukum.org> -Content-Disposition: inline - - -RESET_RESUME entries for some sound devices that need it. - -Signed-off-by: Oliver Neukum <oneukum@suse.de> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - - ---- - drivers/usb/core/quirks.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - ---- a/drivers/usb/core/quirks.c -+++ b/drivers/usb/core/quirks.c -@@ -33,6 +33,15 @@ static const struct usb_device_id usb_qu - /* HP 5300/5370C scanner */ - { USB_DEVICE(0x03f0, 0x0701), .driver_info = USB_QUIRK_STRING_FETCH_255 }, - -+ /* Creative SB Audigy 2 NX */ -+ { USB_DEVICE(0x041e, 0x3020), .driver_info = USB_QUIRK_RESET_RESUME }, -+ -+ /* Roland SC-8820 */ -+ { USB_DEVICE(0x0582, 0x0007), .driver_info = USB_QUIRK_RESET_RESUME }, -+ -+ /* Edirol SD-20 */ -+ { USB_DEVICE(0x0582, 0x0027), .driver_info = USB_QUIRK_RESET_RESUME }, -+ - /* INTEL VALUE SSD */ - { USB_DEVICE(0x8086, 0xf1a5), .driver_info = USB_QUIRK_RESET_RESUME }, - diff --git a/usb/usb-sane-memory-allocation-in-option-driver.patch b/usb/usb-sane-memory-allocation-in-option-driver.patch deleted file mode 100644 index e1d92643a50e5f..00000000000000 --- a/usb/usb-sane-memory-allocation-in-option-driver.patch +++ /dev/null @@ -1,104 +0,0 @@ -From smurf@smurf.noris.de Thu Feb 7 10:07:45 2008 -From: Oliver Neukum <oneukum@suse.de> -Date: Fri, 1 Feb 2008 13:58:52 +0100 -Subject: USB: Sane memory allocation in option driver -To: linux-usb@vger.kernel.org -Message-ID: <20080201125852.GO9171@kiste.smurf.noris.de> -Content-Disposition: inline - -From: Oliver Neukum <oneukum@suse.de> - -The option driver -- violates DMA coherency rules -- allocates ~16500 bytes in one chunk -This patch splits out the buffers and uses __get_free_page() to avoid -higher order allocations. - -Signed-off-by: Oliver Neukum <oneukum@suse.de> -Acked-By: Matthias Urlichs <matthias@urlichs.de> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/serial/option.c | 33 ++++++++++++++++++++++++++++++--- - 1 file changed, 30 insertions(+), 3 deletions(-) - ---- a/drivers/usb/serial/option.c -+++ b/drivers/usb/serial/option.c -@@ -247,10 +247,10 @@ static int debug; - struct option_port_private { - /* Input endpoints and buffer for this port */ - struct urb *in_urbs[N_IN_URB]; -- char in_buffer[N_IN_URB][IN_BUFLEN]; -+ u8 *in_buffer[N_IN_URB]; - /* Output endpoints and buffer for this port */ - struct urb *out_urbs[N_OUT_URB]; -- char out_buffer[N_OUT_URB][OUT_BUFLEN]; -+ u8 *out_buffer[N_OUT_URB]; - unsigned long out_busy; /* Bit vector of URBs in use */ - - /* Settings for the port */ -@@ -737,9 +737,10 @@ static int option_send_setup(struct usb_ - - static int option_startup(struct usb_serial *serial) - { -- int i, err; -+ int i, j, err; - struct usb_serial_port *port; - struct option_port_private *portdata; -+ u8 *buffer; - - dbg("%s", __FUNCTION__); - -@@ -753,6 +754,20 @@ static int option_startup(struct usb_ser - return (1); - } - -+ for (j = 0; j < N_IN_URB; j++) { -+ buffer = (u8 *)__get_free_page(GFP_KERNEL); -+ if (!buffer) -+ goto bail_out_error; -+ portdata->in_buffer[j] = buffer; -+ } -+ -+ for (j = 0; j < N_OUT_URB; j++) { -+ buffer = kmalloc(OUT_BUFLEN, GFP_KERNEL); -+ if (!buffer) -+ goto bail_out_error2; -+ portdata->out_buffer[j] = buffer; -+ } -+ - usb_set_serial_port_data(port, portdata); - - if (! port->interrupt_in_urb) -@@ -766,6 +781,16 @@ static int option_startup(struct usb_ser - option_setup_urbs(serial); - - return (0); -+ -+bail_out_error2: -+ for (j = 0; j < N_OUT_URB; j++) -+ kfree(portdata->out_buffer[j]); -+bail_out_error: -+ for (j = 0; j < N_IN_URB; j++) -+ if (portdata->in_buffer[j]) -+ free_page((unsigned long)portdata->in_buffer[j]); -+ kfree(portdata); -+ return 1; - } - - static void option_shutdown(struct usb_serial *serial) -@@ -794,12 +819,14 @@ static void option_shutdown(struct usb_s - for (j = 0; j < N_IN_URB; j++) { - if (portdata->in_urbs[j]) { - usb_free_urb(portdata->in_urbs[j]); -+ free_page((unsigned long)portdata->in_buffer[j]); - portdata->in_urbs[j] = NULL; - } - } - for (j = 0; j < N_OUT_URB; j++) { - if (portdata->out_urbs[j]) { - usb_free_urb(portdata->out_urbs[j]); -+ kfree(portdata->out_buffer[j]); - portdata->out_urbs[j] = NULL; - } - } diff --git a/usb/usb-serial-move-zte-mf330-from-sierra-to-option.patch b/usb/usb-serial-move-zte-mf330-from-sierra-to-option.patch deleted file mode 100644 index dcdfe825e0d5f1..00000000000000 --- a/usb/usb-serial-move-zte-mf330-from-sierra-to-option.patch +++ /dev/null @@ -1,55 +0,0 @@ -From akpm@linux-foundation.org Thu Feb 14 13:35:29 2008 -From: Kevin Lloyd <linux@sierrawireless.com> -Date: Thu, 14 Feb 2008 13:35:16 -0800 -Subject: USB: serial: move zte MF330 from sierra to option -Cc: Greg KH <greg@kroah.com> -Message-ID: <20080214133516.07f5abc5.akpm@linux-foundation.org> - -From: Kevin Lloyd <linux@sierrawireless.com> - -Move the Onda H600/ZTE MF33 device from the sierra driver to the option -driver. - -The reason it was moved is because the sierra driver is starting to support -more and more sierra proprietary features, so it makes more sense to keep -sierra only devices in there. - - -Signed-off-by: Kevin Lloyd <klloyd@sierrawireless.com> -Signed-off-by: Andrew Morton <akpm@linux-foundation.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/serial/option.c | 3 +++ - drivers/usb/serial/sierra.c | 1 - - 2 files changed, 3 insertions(+), 1 deletion(-) - ---- a/drivers/usb/serial/option.c -+++ b/drivers/usb/serial/option.c -@@ -124,6 +124,8 @@ static int option_send_setup(struct usb - #define BANDRICH_PRODUCT_C100_1 0x1002 - #define BANDRICH_PRODUCT_C100_2 0x1003 - -+#define QUALCOMM_VENDOR_ID 0x05C6 -+ - static struct usb_device_id option_ids[] = { - { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) }, - { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA) }, -@@ -193,6 +195,7 @@ static struct usb_device_id option_ids[] - { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_C100_1) }, - { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_C100_2) }, - { USB_DEVICE(KYOCERA_VENDOR_ID, KYOCERA_PRODUCT_KPC680) }, -+ { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x6613)}, /* Onda H600/ZTE MF330 */ - { } /* Terminating entry */ - }; - MODULE_DEVICE_TABLE(usb, option_ids); ---- a/drivers/usb/serial/sierra.c -+++ b/drivers/usb/serial/sierra.c -@@ -178,7 +178,6 @@ static struct usb_device_id id_table [] - - { USB_DEVICE(0x1199, 0x0112), .driver_info = DEVICE_1_PORT }, /* Sierra Wireless AirCard 580 */ - { USB_DEVICE(0x0F3D, 0x0112), .driver_info = DEVICE_1_PORT }, /* Airprime/Sierra PC 5220 */ -- { USB_DEVICE(0x05C6, 0x6613), .driver_info = DEVICE_1_PORT }, /* Onda H600/ZTE MF330 */ - - { USB_DEVICE(0x1199, 0x0FFF), .driver_info = DEVICE_INSTALLER}, - { } diff --git a/usb/usb-storage-nikon-d80-new-fw-still-needs-fixup.patch b/usb/usb-storage-nikon-d80-new-fw-still-needs-fixup.patch deleted file mode 100644 index 9cb4860c230980..00000000000000 --- a/usb/usb-storage-nikon-d80-new-fw-still-needs-fixup.patch +++ /dev/null @@ -1,33 +0,0 @@ -From phil@ipom.com Tue Feb 19 02:16:25 2008 -From: Konstantin Kletschke <konsti@ku-gbr.de> -Date: Tue, 19 Feb 2008 02:15:32 -0800 -Subject: USB: storage: Nikon D80 new FW still needs Fixup -To: Greg KH <greg@kroah.com> -Cc: USB Dev <linux-usb@vger.kernel.org>, USB Storage list <usb-storage@lists.one-eyed-alien.net>, Konstantin Kletschke <konsti@ku-gbr.de> -Message-ID: <47BAAC44.7010805@ipom.com> - - -From: Konstantin Kletschke <konsti@ku-gbr.de> - -Add new BCD numbers for Nikon D80 Firmware revision v1.10 to the -unusual_devs.h file. - -Signed-off-by: Konstantin Kletschke <konsti@ku-gbr.de> -Signed-off-by: Phil Dibowitz <phil@ipom.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/storage/unusual_devs.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/usb/storage/unusual_devs.h -+++ b/drivers/usb/storage/unusual_devs.h -@@ -357,7 +357,7 @@ UNUSUAL_DEV( 0x04b0, 0x040f, 0x0100, 0x - US_FL_FIX_CAPACITY), - - /* Reported by Emil Larsson <emil@swip.net> */ --UNUSUAL_DEV( 0x04b0, 0x0411, 0x0100, 0x0101, -+UNUSUAL_DEV( 0x04b0, 0x0411, 0x0100, 0x0110, - "NIKON", - "NIKON DSC D80", - US_SC_DEVICE, US_PR_DEVICE, NULL, diff --git a/usb/usb-usb-storage-don-t-access-beyond-the-end-of-the-sg-buffer.patch b/usb/usb-usb-storage-don-t-access-beyond-the-end-of-the-sg-buffer.patch deleted file mode 100644 index 91bdbb7e21d39c..00000000000000 --- a/usb/usb-usb-storage-don-t-access-beyond-the-end-of-the-sg-buffer.patch +++ /dev/null @@ -1,91 +0,0 @@ -From stern@rowland.harvard.edu Wed Feb 20 12:59:54 2008 -From: Alan Stern <stern@rowland.harvard.edu> -Date: Wed, 20 Feb 2008 14:15:58 -0500 (EST) -Subject: USB: usb-storage: don't access beyond the end of the sg buffer -To: Greg KH <greg@kroah.com>, Matthew Dharm <mdharm-usb@one-eyed-alien.net> -Cc: Boaz Harrosh <bharrosh@panasas.com>, USB Storage list <usb-storage@lists.one-eyed-alien.net>, USB list <linux-usb@vger.kernel.org> -Message-ID: <Pine.LNX.4.44L0.0802201413320.7056-100000@iolanthe.rowland.org> - - -This patch (as1035) fixes a bug in usb_stor_access_xfer_buf() (the bug -was originally found by Boaz Harrosh): The routine must not attempt to -write beyond the end of a scatter-gather list or beyond the number of -bytes requested. It also fixes up the formatting of a few comments -and similar whitespace issues. - -Signed-off-by: Alan Stern <stern@rowland.harvard.edu> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/storage/protocol.c | 27 +++++++++++++++------------ - 1 file changed, 15 insertions(+), 12 deletions(-) - ---- a/drivers/usb/storage/protocol.c -+++ b/drivers/usb/storage/protocol.c -@@ -150,13 +150,14 @@ void usb_stor_transparent_scsi_command(s - - /* Copy a buffer of length buflen to/from the srb's transfer buffer. - * Update the **sgptr and *offset variables so that the next copy will -- * pick up from where this one left off. */ -- -+ * pick up from where this one left off. -+ */ - unsigned int usb_stor_access_xfer_buf(unsigned char *buffer, - unsigned int buflen, struct scsi_cmnd *srb, struct scatterlist **sgptr, - unsigned int *offset, enum xfer_buf_dir dir) - { - unsigned int cnt; -+ struct scatterlist *sg = *sgptr; - - /* We have to go through the list one entry - * at a time. Each s-g entry contains some number of pages, and -@@ -164,22 +165,23 @@ unsigned int usb_stor_access_xfer_buf(un - * in kernel-addressable memory then kmap() will return its address. - * If the page is not directly accessible -- such as a user buffer - * located in high memory -- then kmap() will map it to a temporary -- * position in the kernel's virtual address space. */ -- struct scatterlist *sg = *sgptr; -+ * position in the kernel's virtual address space. -+ */ - - if (!sg) - sg = scsi_sglist(srb); -+ buflen = min(buflen, scsi_bufflen(srb)); - - /* This loop handles a single s-g list entry, which may -- * include multiple pages. Find the initial page structure -- * and the starting offset within the page, and update -- * the *offset and **sgptr values for the next loop. */ -+ * include multiple pages. Find the initial page structure -+ * and the starting offset within the page, and update -+ * the *offset and **sgptr values for the next loop. -+ */ - cnt = 0; -- while (cnt < buflen) { -+ while (cnt < buflen && sg) { - struct page *page = sg_page(sg) + - ((sg->offset + *offset) >> PAGE_SHIFT); -- unsigned int poff = -- (sg->offset + *offset) & (PAGE_SIZE-1); -+ unsigned int poff = (sg->offset + *offset) & (PAGE_SIZE-1); - unsigned int sglen = sg->length - *offset; - - if (sglen > buflen - cnt) { -@@ -222,14 +224,15 @@ unsigned int usb_stor_access_xfer_buf(un - } - - /* Store the contents of buffer into srb's transfer buffer and set the -- * SCSI residue. */ -+ * SCSI residue. -+ */ - void usb_stor_set_xfer_buf(unsigned char *buffer, - unsigned int buflen, struct scsi_cmnd *srb) - { - unsigned int offset = 0; - struct scatterlist *sg = NULL; - -- usb_stor_access_xfer_buf(buffer, buflen, srb, &sg, &offset, -+ buflen = usb_stor_access_xfer_buf(buffer, buflen, srb, &sg, &offset, - TO_XFER_BUF); - if (buflen < scsi_bufflen(srb)) - scsi_set_resid(srb, scsi_bufflen(srb) - buflen); diff --git a/usb/usb-usb-storage-don-t-clear-halt-when-get-max-lun-stalls.patch b/usb/usb-usb-storage-don-t-clear-halt-when-get-max-lun-stalls.patch deleted file mode 100644 index 4fb9af985bc906..00000000000000 --- a/usb/usb-usb-storage-don-t-clear-halt-when-get-max-lun-stalls.patch +++ /dev/null @@ -1,69 +0,0 @@ -From linux-usb-owner@vger.kernel.org Wed Feb 13 07:46:39 2008 -From: Alan Stern <stern@rowland.harvard.edu> -Date: Wed, 13 Feb 2008 10:45:28 -0500 (EST) -Subject: USB: usb-storage: don't clear-halt when Get-Max-LUN stalls -To: Matthew Dharm <mdharm-usb@one-eyed-alien.net> -Cc: Robert Spitzenpfeil <robert@spitzenpfeil.org>, Andre Welter <a.r.welter@gmx.de>, USB list <linux-usb@vger.kernel.org>, USB Storage list <usb-storage@lists.one-eyed-alien.net> -Message-ID: <Pine.LNX.4.44L0.0802131041210.2112-100000@iolanthe.rowland.org> - - -This patch (as1032) removes the Clear-Halt calls in -usb_stor_Bulk_max_lun(). Evidently some devices (such as the Oracom -MP3 player) really don't like to receive these requests when their -bulk endpoints aren't halted. - -The only reason for adding them originally was to get an ancient -ZIP-100 drive to work. But since this device has only a single LUN, -we don't need to send it a Get-Max-LUN request at all. Adding an -unusual_devs entry for the ZIP-100 with the SINGLE_LUN flag set will -cause this step to be skipped. - -Signed-off-by: Alan Stern <stern@rowland.harvard.edu> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/storage/transport.c | 11 ----------- - drivers/usb/storage/unusual_devs.h | 12 ++++++++++++ - 2 files changed, 12 insertions(+), 11 deletions(-) - ---- a/drivers/usb/storage/transport.c -+++ b/drivers/usb/storage/transport.c -@@ -891,17 +891,6 @@ int usb_stor_Bulk_max_lun(struct us_data - if (result > 0) - return us->iobuf[0]; - -- /* -- * Some devices (i.e. Iomega Zip100) need this -- apparently -- * the bulk pipes get STALLed when the GetMaxLUN request is -- * processed. This is, in theory, harmless to all other devices -- * (regardless of if they stall or not). -- */ -- if (result == -EPIPE) { -- usb_stor_clear_halt(us, us->recv_bulk_pipe); -- usb_stor_clear_halt(us, us->send_bulk_pipe); -- } -- - /* - * Some devices don't like GetMaxLUN. They may STALL the control - * pipe, they may return a zero-length result, they may do nothing at ---- a/drivers/usb/storage/unusual_devs.h -+++ b/drivers/usb/storage/unusual_devs.h -@@ -759,6 +759,18 @@ UNUSUAL_DEV( 0x0595, 0x4343, 0x0000, 0x - "Digital Camera EX-20 DSC", - US_SC_8070, US_PR_DEVICE, NULL, 0 ), - -+/* Reported by Andre Welter <a.r.welter@gmx.de> -+ * This antique device predates the release of the Bulk-only Transport -+ * spec, and if it gets a Get-Max-LUN then it requires the host to do a -+ * Clear-Halt on the bulk endpoints. The SINGLE_LUN flag will prevent -+ * us from sending the request. -+ */ -+UNUSUAL_DEV( 0x059b, 0x0001, 0x0100, 0x0100, -+ "Iomega", -+ "ZIP 100", -+ US_SC_DEVICE, US_PR_DEVICE, NULL, -+ US_FL_SINGLE_LUN ), -+ - /* Reported by <Hendryk.Pfeiffer@gmx.de> */ - UNUSUAL_DEV( 0x059f, 0x0643, 0x0000, 0x0000, - "LaCie", diff --git a/usb/usb-usb-storage-unusual_devs-entry-for-oracom-mp3-player.patch b/usb/usb-usb-storage-unusual_devs-entry-for-oracom-mp3-player.patch deleted file mode 100644 index 5f62da6b152d9c..00000000000000 --- a/usb/usb-usb-storage-unusual_devs-entry-for-oracom-mp3-player.patch +++ /dev/null @@ -1,44 +0,0 @@ -From stern@rowland.harvard.edu Wed Feb 20 12:55:38 2008 -From: Robert Spitzenpfeil <robert@spitzenpfeil.org> -Date: Wed, 20 Feb 2008 12:11:22 -0500 (EST) -Subject: USB: usb-storage: unusual_devs entry for Oracom MP3 player -To: Greg KH <greg@kroah.com> -Cc: Robert Spitzenpfeil <robert@spitzenpfeil.org>, Phil Dibowitz <phil@ipom.com>, USB Storage list <usb-storage@lists.one-eyed-alien.net> -Message-ID: <Pine.LNX.4.44L0.0802201210050.5630-100000@iolanthe.rowland.org> - - -From: Robert Spitzenpfeil <robert@spitzenpfeil.org> - -This patch (as1034) was written by Leonid Petrov, reported by Robert -Spitzenpfeil, and updated by me. It adds an unusual_devs entry with -the IGNORE_RESIDUE flag for the Oracom MP3 player. Together with the -change to the Get-Max-LUN routine in as1032, it makes the player usable. - -Signed-off-by: Alan Stern <stern@rowland.harvard.edu> -Signed-off-by: Phil Dibowitz <phil@ipom.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/storage/unusual_devs.h | 11 +++++++++++ - 1 file changed, 11 insertions(+) - ---- a/drivers/usb/storage/unusual_devs.h -+++ b/drivers/usb/storage/unusual_devs.h -@@ -1424,6 +1424,17 @@ UNUSUAL_DEV( 0x0ed1, 0x7636, 0x0103, 0x - US_SC_DEVICE, US_PR_DEVICE, NULL, - US_FL_IGNORE_RESIDUE | US_FL_GO_SLOW | US_FL_MAX_SECTORS_64), - -+/* Patch by Leonid Petrov mail at lpetrov.net -+ * Reported by Robert Spitzenpfeil <robert@spitzenpfeil.org> -+ * http://www.qbik.ch/usb/devices/showdev.php?id=1705 -+ * Updated to 103 device by MJ Ray mjr at phonecoop.coop -+ */ -+UNUSUAL_DEV( 0x0f19, 0x0103, 0x0100, 0x0100, -+ "Oracom Co., Ltd", -+ "ORC-200M", -+ US_SC_DEVICE, US_PR_DEVICE, NULL, -+ US_FL_IGNORE_RESIDUE ), -+ - /* David Kuehling <dvdkhlng@gmx.de>: - * for MP3-Player AVOX WSX-300ER (bought in Japan). Reports lots of SCSI - * errors when trying to write. diff --git a/usb/usb-usb-yet-another-dell-wireless-cdma-evdo-modem.patch b/usb/usb-usb-yet-another-dell-wireless-cdma-evdo-modem.patch deleted file mode 100644 index 84817a4f9097a7..00000000000000 --- a/usb/usb-usb-yet-another-dell-wireless-cdma-evdo-modem.patch +++ /dev/null @@ -1,46 +0,0 @@ -From linux-usb-owner@vger.kernel.org Mon Feb 4 23:58:14 2008 -From: Andy Shevchenko <andy@smile.org.ua> -Date: Mon, 04 Feb 2008 23:57:49 -0800 -Subject: USB: usb: yet another Dell wireless CDMA/EVDO modem -To: greg@kroah.com -Cc: linux-usb@vger.kernel.org, akpm@linux-foundation.org, andy@smile.org.ua, smurf@smurf.noris.de -Message-ID: <200802050757.m157vUuG010932@imap1.linux-foundation.org> - - -From: Andy Shevchenko <andy@smile.org.ua> - -Add native support of the Dell wireless CDMA/EVDO modem. - -# modprobe usbserial vendor=0x413c product=0x8129 - -Following seesion lines describe modem itself -at -OK -ati3 -Manufacturer: NOVATEL WIRELESS INCORPORATED -Model: EXPEDITE ET620 -Revision: M6500C-BBIRD_TLS_MINI_DELL-Q40306.166 [Aug 25 2006 14:00:00] -ESN: 0x5B39071D -+GCAP: +CIS707-A, CIS-856, +MS, +ES, +DS, +FCLASS - -OK - -Signed-off-by: Andy Shevchenko <andy@smile.org.ua> -Cc: Matthias Urlichs <smurf@smurf.noris.de> -Signed-off-by: Andrew Morton <akpm@linux-foundation.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/serial/option.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/drivers/usb/serial/option.c -+++ b/drivers/usb/serial/option.c -@@ -181,6 +181,7 @@ static struct usb_device_id option_ids[] - { USB_DEVICE(DELL_VENDOR_ID, 0x8118) }, /* Dell Wireless 5510 Mobile Broadband HSDPA ExpressCard == Novatel Merlin XU870 HSDPA/3G */ - { USB_DEVICE(DELL_VENDOR_ID, 0x8128) }, /* Dell Wireless 5700 Mobile Broadband CDMA/EVDO Mini-Card == Novatel Expedite E720 CDMA/EV-DO */ - { USB_DEVICE(DELL_VENDOR_ID, 0x8136) }, /* Dell Wireless HSDPA 5520 == Novatel Expedite EU860D */ -+ { USB_DEVICE(DELL_VENDOR_ID, 0x8129) }, /* Dell Wireless 5700 Mobile Broadband CDMA/EVDO Mini-Card == Novatel Expedite ET620 CDMA/EV-DO */ - { USB_DEVICE(DELL_VENDOR_ID, 0x8137) }, /* Dell Wireless HSDPA 5520 */ - { USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_E100A) }, - { USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_500A) }, |