diff options
author | Koen Kooi <koen@dominion.thruhere.net> | 2012-07-17 09:23:14 +0200 |
---|---|---|
committer | Denys Dmytriyenko <denys@ti.com> | 2012-07-25 20:37:17 -0400 |
commit | 9bc77dff5f84578e259f8225bfa0656d94a2a60a (patch) | |
tree | facf359351214a4f3441d0992b0aaa3bcb7ed098 | |
parent | 751040122dad1e1036ff32b716e9f40be010c2b3 (diff) | |
download | meta-ti-9bc77dff5f84578e259f8225bfa0656d94a2a60a.tar.gz |
linux-ti33x-psp 3.2: update to 3.2.23
Regenerate all beaglebone patches and add one vfs tracer patch for powertop
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
172 files changed, 6825 insertions, 323 deletions
diff --git a/conf/machine/include/ti33x.inc b/conf/machine/include/ti33x.inc index 441a7bbb..02759d51 100644 --- a/conf/machine/include/ti33x.inc +++ b/conf/machine/include/ti33x.inc | |||
@@ -4,7 +4,7 @@ require conf/machine/include/soc-family.inc | |||
4 | require conf/machine/include/tune-cortexa8.inc | 4 | require conf/machine/include/tune-cortexa8.inc |
5 | PREFERRED_PROVIDER_virtual/kernel = "linux-ti33x-psp" | 5 | PREFERRED_PROVIDER_virtual/kernel = "linux-ti33x-psp" |
6 | # Increase this everytime you change something in the kernel | 6 | # Increase this everytime you change something in the kernel |
7 | MACHINE_KERNEL_PR = "r13" | 7 | MACHINE_KERNEL_PR = "r14" |
8 | 8 | ||
9 | KERNEL_IMAGETYPE = "uImage" | 9 | KERNEL_IMAGETYPE = "uImage" |
10 | 10 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0001-staging-iio-ad7606-Re-add-missing-scale-attribute.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0001-staging-iio-ad7606-Re-add-missing-scale-attribute.patch new file mode 100644 index 00000000..4f7f561c --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0001-staging-iio-ad7606-Re-add-missing-scale-attribute.patch | |||
@@ -0,0 +1,37 @@ | |||
1 | From ea62444a6898324ec9aeb8799a8fd518073fe5a8 Mon Sep 17 00:00:00 2001 | ||
2 | From: Lars-Peter Clausen <lars@metafoo.de> | ||
3 | Date: Tue, 5 Jun 2012 18:16:31 +0200 | ||
4 | Subject: [PATCH 01/46] staging:iio:ad7606: Re-add missing scale attribute | ||
5 | |||
6 | commit 279bf2e57c30c9a4482b2b6ede11b31c41e35e78 upstream. | ||
7 | |||
8 | Commit 50ac23be ("staging:iio:adc:ad7606 add local define for chan_spec | ||
9 | structures.") accidentally removed the scale info_mask flag. This patch | ||
10 | adds it back again. | ||
11 | |||
12 | Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> | ||
13 | Acked-by: Jonathan Cameron <jic23@kernel.org> | ||
14 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | ||
15 | [bwh: Backported to 3.2: | ||
16 | - info_mask was completely gone rather than set to another flag | ||
17 | - IIO_CHAN_INFO_SCALE_SHARED_BIT was not defined; write it out as a shift] | ||
18 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
19 | --- | ||
20 | drivers/staging/iio/adc/ad7606_core.c | 1 + | ||
21 | 1 file changed, 1 insertion(+) | ||
22 | |||
23 | diff --git a/drivers/staging/iio/adc/ad7606_core.c b/drivers/staging/iio/adc/ad7606_core.c | ||
24 | index 54423ab..2ee187f 100644 | ||
25 | --- a/drivers/staging/iio/adc/ad7606_core.c | ||
26 | +++ b/drivers/staging/iio/adc/ad7606_core.c | ||
27 | @@ -241,6 +241,7 @@ static const struct attribute_group ad7606_attribute_group = { | ||
28 | .indexed = 1, \ | ||
29 | .channel = num, \ | ||
30 | .address = num, \ | ||
31 | + .info_mask = (1 << IIO_CHAN_INFO_SCALE_SHARED), \ | ||
32 | .scan_index = num, \ | ||
33 | .scan_type = IIO_ST('s', 16, 16, 0), \ | ||
34 | } | ||
35 | -- | ||
36 | 1.7.10 | ||
37 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0002-Tools-hv-verify-origin-of-netlink-connector-message.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0002-Tools-hv-verify-origin-of-netlink-connector-message.patch new file mode 100644 index 00000000..7b4da321 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0002-Tools-hv-verify-origin-of-netlink-connector-message.patch | |||
@@ -0,0 +1,51 @@ | |||
1 | From 510150c1fa93796d65a9b598a8e1509629f5d84e Mon Sep 17 00:00:00 2001 | ||
2 | From: Olaf Hering <olaf@aepfle.de> | ||
3 | Date: Thu, 31 May 2012 16:40:06 +0200 | ||
4 | Subject: [PATCH 02/46] Tools: hv: verify origin of netlink connector message | ||
5 | |||
6 | commit bcc2c9c3fff859e0eb019fe6fec26f9b8eba795c upstream. | ||
7 | |||
8 | The SuSE security team suggested to use recvfrom instead of recv to be | ||
9 | certain that the connector message is originated from kernel. | ||
10 | |||
11 | CVE-2012-2669 | ||
12 | |||
13 | Signed-off-by: Olaf Hering <olaf@aepfle.de> | ||
14 | Signed-off-by: Marcus Meissner <meissner@suse.de> | ||
15 | Signed-off-by: Sebastian Krahmer <krahmer@suse.de> | ||
16 | Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> | ||
17 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | ||
18 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
19 | --- | ||
20 | tools/hv/hv_kvp_daemon.c | 10 +++++++--- | ||
21 | 1 file changed, 7 insertions(+), 3 deletions(-) | ||
22 | |||
23 | diff --git a/tools/hv/hv_kvp_daemon.c b/tools/hv/hv_kvp_daemon.c | ||
24 | index 11224ed..323d4d9 100644 | ||
25 | --- a/tools/hv/hv_kvp_daemon.c | ||
26 | +++ b/tools/hv/hv_kvp_daemon.c | ||
27 | @@ -384,14 +384,18 @@ int main(void) | ||
28 | pfd.fd = fd; | ||
29 | |||
30 | while (1) { | ||
31 | + struct sockaddr *addr_p = (struct sockaddr *) &addr; | ||
32 | + socklen_t addr_l = sizeof(addr); | ||
33 | pfd.events = POLLIN; | ||
34 | pfd.revents = 0; | ||
35 | poll(&pfd, 1, -1); | ||
36 | |||
37 | - len = recv(fd, kvp_recv_buffer, sizeof(kvp_recv_buffer), 0); | ||
38 | + len = recvfrom(fd, kvp_recv_buffer, sizeof(kvp_recv_buffer), 0, | ||
39 | + addr_p, &addr_l); | ||
40 | |||
41 | - if (len < 0) { | ||
42 | - syslog(LOG_ERR, "recv failed; error:%d", len); | ||
43 | + if (len < 0 || addr.nl_pid) { | ||
44 | + syslog(LOG_ERR, "recvfrom failed; pid:%u error:%d %s", | ||
45 | + addr.nl_pid, errno, strerror(errno)); | ||
46 | close(fd); | ||
47 | return -1; | ||
48 | } | ||
49 | -- | ||
50 | 1.7.10 | ||
51 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0003-edac-avoid-mce-decoding-crash-after-edac-driver-unlo.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0003-edac-avoid-mce-decoding-crash-after-edac-driver-unlo.patch new file mode 100644 index 00000000..66707614 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0003-edac-avoid-mce-decoding-crash-after-edac-driver-unlo.patch | |||
@@ -0,0 +1,166 @@ | |||
1 | From 081ba8d6f6253982766e17b90992c1002c31acb0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Chen Gong <gong.chen@linux.intel.com> | ||
3 | Date: Tue, 8 May 2012 20:40:12 -0300 | ||
4 | Subject: [PATCH 03/46] edac: avoid mce decoding crash after edac driver | ||
5 | unloaded | ||
6 | |||
7 | commit e35fca4791fcdd43dc1fd769797df40c562ab491 upstream. | ||
8 | |||
9 | Some edac drivers register themselves as mce decoders via | ||
10 | notifier_chain. But in current notifier_chain implementation logic, | ||
11 | it doesn't accept same notifier registered twice. If so, it will be | ||
12 | wrong when adding/removing the element from the list. For example, | ||
13 | on one SandyBridge platform, remove module sb_edac and then trigger | ||
14 | one error, it will hit oops because it has no mce decoder registered | ||
15 | but related notifier_chain still points to an invalid callback | ||
16 | function. Here is an example: | ||
17 | |||
18 | Call Trace: | ||
19 | [<ffffffff8150ef6a>] atomic_notifier_call_chain+0x1a/0x20 | ||
20 | [<ffffffff8102b936>] mce_log+0x46/0x180 | ||
21 | [<ffffffff8102eaea>] apei_mce_report_mem_error+0x4a/0x60 | ||
22 | [<ffffffff812e19d2>] ghes_do_proc+0x192/0x210 | ||
23 | [<ffffffff812e2066>] ghes_proc+0x46/0x70 | ||
24 | [<ffffffff812e20d8>] ghes_notify_sci+0x48/0x80 | ||
25 | [<ffffffff8150ef05>] notifier_call_chain+0x55/0x80 | ||
26 | [<ffffffff81076f1a>] __blocking_notifier_call_chain+0x5a/0x80 | ||
27 | [<ffffffff812aea11>] ? acpi_os_wait_events_complete+0x23/0x23 | ||
28 | [<ffffffff81076f56>] blocking_notifier_call_chain+0x16/0x20 | ||
29 | [<ffffffff812ddc4d>] acpi_hed_notify+0x19/0x1b | ||
30 | [<ffffffff812b16bd>] acpi_device_notify+0x19/0x1b | ||
31 | [<ffffffff812beb38>] acpi_ev_notify_dispatch+0x67/0x7f | ||
32 | [<ffffffff812aea3a>] acpi_os_execute_deferred+0x29/0x36 | ||
33 | [<ffffffff81069dc2>] process_one_work+0x132/0x450 | ||
34 | [<ffffffff8106bbcb>] worker_thread+0x17b/0x3c0 | ||
35 | [<ffffffff8106ba50>] ? manage_workers+0x120/0x120 | ||
36 | [<ffffffff81070aee>] kthread+0x9e/0xb0 | ||
37 | [<ffffffff81514724>] kernel_thread_helper+0x4/0x10 | ||
38 | [<ffffffff81070a50>] ? kthread_freezable_should_stop+0x70/0x70 | ||
39 | [<ffffffff81514720>] ? gs_change+0x13/0x13 | ||
40 | Code: f3 49 89 d4 45 85 ed 4d 89 c6 48 8b 0f 74 48 48 85 c9 75 17 eb 41 | ||
41 | 0f 1f 80 00 00 00 00 41 83 ed 01 4c 89 f9 74 22 4d 85 ff 74 1d <4c> 8b | ||
42 | 79 08 4c 89 e2 48 89 de 48 89 cf ff 11 4d 85 f6 74 04 41 | ||
43 | RIP [<ffffffff8150eef6>] notifier_call_chain+0x46/0x80 | ||
44 | RSP <ffff88042868fb20> | ||
45 | CR2: ffffffffa01af838 | ||
46 | ---[ end trace 0100930068e73e6f ]--- | ||
47 | BUG: unable to handle kernel paging request at fffffffffffffff8 | ||
48 | IP: [<ffffffff810705b0>] kthread_data+0x10/0x20 | ||
49 | PGD 1a0d067 PUD 1a0e067 PMD 0 | ||
50 | Oops: 0000 [#2] SMP | ||
51 | |||
52 | Only i7core_edac and sb_edac have such issues because they have more | ||
53 | than one memory controller which means they have to register mce | ||
54 | decoder many times. | ||
55 | |||
56 | Signed-off-by: Chen Gong <gong.chen@linux.intel.com> | ||
57 | Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> | ||
58 | [bwh: Backported to 3.2: drivers call atomic_notifier_chain_{,un}register() | ||
59 | directly] | ||
60 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
61 | --- | ||
62 | drivers/edac/i7core_edac.c | 15 ++++----------- | ||
63 | drivers/edac/sb_edac.c | 10 ++++------ | ||
64 | 2 files changed, 8 insertions(+), 17 deletions(-) | ||
65 | |||
66 | diff --git a/drivers/edac/i7core_edac.c b/drivers/edac/i7core_edac.c | ||
67 | index 70ad892..b3ccefa 100644 | ||
68 | --- a/drivers/edac/i7core_edac.c | ||
69 | +++ b/drivers/edac/i7core_edac.c | ||
70 | @@ -1932,12 +1932,6 @@ static int i7core_mce_check_error(struct notifier_block *nb, unsigned long val, | ||
71 | if (mce->bank != 8) | ||
72 | return NOTIFY_DONE; | ||
73 | |||
74 | -#ifdef CONFIG_SMP | ||
75 | - /* Only handle if it is the right mc controller */ | ||
76 | - if (mce->socketid != pvt->i7core_dev->socket) | ||
77 | - return NOTIFY_DONE; | ||
78 | -#endif | ||
79 | - | ||
80 | smp_rmb(); | ||
81 | if ((pvt->mce_out + 1) % MCE_LOG_LEN == pvt->mce_in) { | ||
82 | smp_wmb(); | ||
83 | @@ -2234,8 +2228,6 @@ static void i7core_unregister_mci(struct i7core_dev *i7core_dev) | ||
84 | if (pvt->enable_scrub) | ||
85 | disable_sdram_scrub_setting(mci); | ||
86 | |||
87 | - atomic_notifier_chain_unregister(&x86_mce_decoder_chain, &i7_mce_dec); | ||
88 | - | ||
89 | /* Disable EDAC polling */ | ||
90 | i7core_pci_ctl_release(pvt); | ||
91 | |||
92 | @@ -2336,8 +2328,6 @@ static int i7core_register_mci(struct i7core_dev *i7core_dev) | ||
93 | /* DCLK for scrub rate setting */ | ||
94 | pvt->dclk_freq = get_dclk_freq(); | ||
95 | |||
96 | - atomic_notifier_chain_register(&x86_mce_decoder_chain, &i7_mce_dec); | ||
97 | - | ||
98 | return 0; | ||
99 | |||
100 | fail0: | ||
101 | @@ -2481,8 +2471,10 @@ static int __init i7core_init(void) | ||
102 | |||
103 | pci_rc = pci_register_driver(&i7core_driver); | ||
104 | |||
105 | - if (pci_rc >= 0) | ||
106 | + if (pci_rc >= 0) { | ||
107 | + atomic_notifier_chain_register(&x86_mce_decoder_chain, &i7_mce_dec); | ||
108 | return 0; | ||
109 | + } | ||
110 | |||
111 | i7core_printk(KERN_ERR, "Failed to register device with error %d.\n", | ||
112 | pci_rc); | ||
113 | @@ -2498,6 +2490,7 @@ static void __exit i7core_exit(void) | ||
114 | { | ||
115 | debugf2("MC: " __FILE__ ": %s()\n", __func__); | ||
116 | pci_unregister_driver(&i7core_driver); | ||
117 | + atomic_notifier_chain_unregister(&x86_mce_decoder_chain, &i7_mce_dec); | ||
118 | } | ||
119 | |||
120 | module_init(i7core_init); | ||
121 | diff --git a/drivers/edac/sb_edac.c b/drivers/edac/sb_edac.c | ||
122 | index 7a402bf..18a1293 100644 | ||
123 | --- a/drivers/edac/sb_edac.c | ||
124 | +++ b/drivers/edac/sb_edac.c | ||
125 | @@ -1661,9 +1661,6 @@ static void sbridge_unregister_mci(struct sbridge_dev *sbridge_dev) | ||
126 | debugf0("MC: " __FILE__ ": %s(): mci = %p, dev = %p\n", | ||
127 | __func__, mci, &sbridge_dev->pdev[0]->dev); | ||
128 | |||
129 | - atomic_notifier_chain_unregister(&x86_mce_decoder_chain, | ||
130 | - &sbridge_mce_dec); | ||
131 | - | ||
132 | /* Remove MC sysfs nodes */ | ||
133 | edac_mc_del_mc(mci->dev); | ||
134 | |||
135 | @@ -1731,8 +1728,6 @@ static int sbridge_register_mci(struct sbridge_dev *sbridge_dev) | ||
136 | goto fail0; | ||
137 | } | ||
138 | |||
139 | - atomic_notifier_chain_register(&x86_mce_decoder_chain, | ||
140 | - &sbridge_mce_dec); | ||
141 | return 0; | ||
142 | |||
143 | fail0: | ||
144 | @@ -1861,8 +1856,10 @@ static int __init sbridge_init(void) | ||
145 | |||
146 | pci_rc = pci_register_driver(&sbridge_driver); | ||
147 | |||
148 | - if (pci_rc >= 0) | ||
149 | + if (pci_rc >= 0) { | ||
150 | + atomic_notifier_chain_register(&x86_mce_decoder_chain, &sbridge_mce_dec); | ||
151 | return 0; | ||
152 | + } | ||
153 | |||
154 | sbridge_printk(KERN_ERR, "Failed to register device with error %d.\n", | ||
155 | pci_rc); | ||
156 | @@ -1878,6 +1875,7 @@ static void __exit sbridge_exit(void) | ||
157 | { | ||
158 | debugf2("MC: " __FILE__ ": %s()\n", __func__); | ||
159 | pci_unregister_driver(&sbridge_driver); | ||
160 | + atomic_notifier_chain_unregister(&x86_mce_decoder_chain, &sbridge_mce_dec); | ||
161 | } | ||
162 | |||
163 | module_init(sbridge_init); | ||
164 | -- | ||
165 | 1.7.10 | ||
166 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0004-hwrng-atmel-rng-fix-data-valid-check.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0004-hwrng-atmel-rng-fix-data-valid-check.patch new file mode 100644 index 00000000..85105deb --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0004-hwrng-atmel-rng-fix-data-valid-check.patch | |||
@@ -0,0 +1,72 @@ | |||
1 | From 28a0aa72b2ef00a665564ea05846ad22cb3f18ee Mon Sep 17 00:00:00 2001 | ||
2 | From: Peter Korsgaard <jacmet@sunsite.dk> | ||
3 | Date: Tue, 12 Jun 2012 08:27:04 +0800 | ||
4 | Subject: [PATCH 04/46] hwrng: atmel-rng - fix data valid check | ||
5 | |||
6 | commit c475c06f4bb689d6ad87d7512e036d6dface3160 upstream. | ||
7 | |||
8 | Brown paper bag: Data valid is LSB of the ISR (status register), and NOT | ||
9 | of ODATA (current random data word)! | ||
10 | |||
11 | With this, rngtest is a lot happier. Before: | ||
12 | |||
13 | rngtest 3 | ||
14 | Copyright (c) 2004 by Henrique de Moraes Holschuh | ||
15 | This is free software; see the source for copying conditions. There is NO warr. | ||
16 | |||
17 | rngtest: starting FIPS tests... | ||
18 | rngtest: bits received from input: 20000032 | ||
19 | rngtest: FIPS 140-2 successes: 3 | ||
20 | rngtest: FIPS 140-2 failures: 997 | ||
21 | rngtest: FIPS 140-2(2001-10-10) Monobit: 604 | ||
22 | rngtest: FIPS 140-2(2001-10-10) Poker: 996 | ||
23 | rngtest: FIPS 140-2(2001-10-10) Runs: 36 | ||
24 | rngtest: FIPS 140-2(2001-10-10) Long run: 0 | ||
25 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 117 | ||
26 | rngtest: input channel speed: (min=622.371; avg=23682.481; max=28224.350)Kibitss | ||
27 | rngtest: FIPS tests speed: (min=12.361; avg=12.718; max=12.861)Mibits/s | ||
28 | rngtest: Program run time: 2331696 microsecondsx | ||
29 | |||
30 | After: | ||
31 | rngtest 3 | ||
32 | Copyright (c) 2004 by Henrique de Moraes Holschuh | ||
33 | This is free software; see the source for copying conditions. There is NO warr. | ||
34 | |||
35 | rngtest: starting FIPS tests... | ||
36 | rngtest: bits received from input: 20000032 | ||
37 | rngtest: FIPS 140-2 successes: 999 | ||
38 | rngtest: FIPS 140-2 failures: 1 | ||
39 | rngtest: FIPS 140-2(2001-10-10) Monobit: 0 | ||
40 | rngtest: FIPS 140-2(2001-10-10) Poker: 0 | ||
41 | rngtest: FIPS 140-2(2001-10-10) Runs: 1 | ||
42 | rngtest: FIPS 140-2(2001-10-10) Long run: 0 | ||
43 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 | ||
44 | rngtest: input channel speed: (min=777.363; avg=43588.270; max=47870.711)Kibitss | ||
45 | rngtest: FIPS tests speed: (min=11.943; avg=12.716; max=12.844)Mibits/s | ||
46 | rngtest: Program run time: 1955282 microseconds | ||
47 | |||
48 | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> | ||
49 | Reported-by: George Pontis <GPontis@z9.com> | ||
50 | Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> | ||
51 | Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> | ||
52 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
53 | --- | ||
54 | drivers/char/hw_random/atmel-rng.c | 2 +- | ||
55 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
56 | |||
57 | diff --git a/drivers/char/hw_random/atmel-rng.c b/drivers/char/hw_random/atmel-rng.c | ||
58 | index 0477982..1b5675b 100644 | ||
59 | --- a/drivers/char/hw_random/atmel-rng.c | ||
60 | +++ b/drivers/char/hw_random/atmel-rng.c | ||
61 | @@ -34,7 +34,7 @@ static int atmel_trng_read(struct hwrng *rng, void *buf, size_t max, | ||
62 | u32 *data = buf; | ||
63 | |||
64 | /* data ready? */ | ||
65 | - if (readl(trng->base + TRNG_ODATA) & 1) { | ||
66 | + if (readl(trng->base + TRNG_ISR) & 1) { | ||
67 | *data = readl(trng->base + TRNG_ODATA); | ||
68 | /* | ||
69 | ensure data ready is only set again AFTER the next data | ||
70 | -- | ||
71 | 1.7.10 | ||
72 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0005-staging-r8712u-Add-new-USB-IDs.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0005-staging-r8712u-Add-new-USB-IDs.patch new file mode 100644 index 00000000..2bc87d79 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0005-staging-r8712u-Add-new-USB-IDs.patch | |||
@@ -0,0 +1,32 @@ | |||
1 | From 4f4723008a7461c6840e643bc66fcd92bfbf26b3 Mon Sep 17 00:00:00 2001 | ||
2 | From: Lubomir Schmidt <gentoo.lubomir@googlemail.com> | ||
3 | Date: Fri, 15 Jun 2012 15:12:17 -0500 | ||
4 | Subject: [PATCH 05/46] staging: r8712u: Add new USB IDs | ||
5 | |||
6 | commit 3026b0e942c65c65c8fc80d391d004228b52b916 upstream. | ||
7 | |||
8 | There are two new devices for this driver. | ||
9 | |||
10 | Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> | ||
11 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | ||
12 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
13 | --- | ||
14 | drivers/staging/rtl8712/usb_intf.c | 2 ++ | ||
15 | 1 file changed, 2 insertions(+) | ||
16 | |||
17 | diff --git a/drivers/staging/rtl8712/usb_intf.c b/drivers/staging/rtl8712/usb_intf.c | ||
18 | index ec41d38..f4b738f 100644 | ||
19 | --- a/drivers/staging/rtl8712/usb_intf.c | ||
20 | +++ b/drivers/staging/rtl8712/usb_intf.c | ||
21 | @@ -102,6 +102,8 @@ static struct usb_device_id rtl871x_usb_id_tbl[] = { | ||
22 | /* - */ | ||
23 | {USB_DEVICE(0x20F4, 0x646B)}, | ||
24 | {USB_DEVICE(0x083A, 0xC512)}, | ||
25 | + {USB_DEVICE(0x25D4, 0x4CA1)}, | ||
26 | + {USB_DEVICE(0x25D4, 0x4CAB)}, | ||
27 | |||
28 | /* RTL8191SU */ | ||
29 | /* Realtek */ | ||
30 | -- | ||
31 | 1.7.10 | ||
32 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0006-hwmon-applesmc-Limit-key-length-in-warning-messages.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0006-hwmon-applesmc-Limit-key-length-in-warning-messages.patch new file mode 100644 index 00000000..dc75f169 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0006-hwmon-applesmc-Limit-key-length-in-warning-messages.patch | |||
@@ -0,0 +1,43 @@ | |||
1 | From d94e9fcf553861cd10a1780c6aeaa6a4419ba5ce Mon Sep 17 00:00:00 2001 | ||
2 | From: Henrik Rydberg <rydberg@euromail.se> | ||
3 | Date: Thu, 7 Jun 2012 04:54:29 -0400 | ||
4 | Subject: [PATCH 06/46] hwmon: (applesmc) Limit key length in warning messages | ||
5 | |||
6 | commit ac852edb47b15900886ba2564eeeb13b3b526e3e upstream. | ||
7 | |||
8 | Key lookups may call read_smc() with a fixed-length key string, | ||
9 | and if the lookup fails, trailing stack content may appear in the | ||
10 | kernel log. Fixed with this patch. | ||
11 | |||
12 | Signed-off-by: Henrik Rydberg <rydberg@euromail.se> | ||
13 | Signed-off-by: Guenter Roeck <linux@roeck-us.net> | ||
14 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
15 | --- | ||
16 | drivers/hwmon/applesmc.c | 4 ++-- | ||
17 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
18 | |||
19 | diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c | ||
20 | index 4c07436..d99aa84 100644 | ||
21 | --- a/drivers/hwmon/applesmc.c | ||
22 | +++ b/drivers/hwmon/applesmc.c | ||
23 | @@ -215,7 +215,7 @@ static int read_smc(u8 cmd, const char *key, u8 *buffer, u8 len) | ||
24 | int i; | ||
25 | |||
26 | if (send_command(cmd) || send_argument(key)) { | ||
27 | - pr_warn("%s: read arg fail\n", key); | ||
28 | + pr_warn("%.4s: read arg fail\n", key); | ||
29 | return -EIO; | ||
30 | } | ||
31 | |||
32 | @@ -223,7 +223,7 @@ static int read_smc(u8 cmd, const char *key, u8 *buffer, u8 len) | ||
33 | |||
34 | for (i = 0; i < len; i++) { | ||
35 | if (__wait_status(0x05)) { | ||
36 | - pr_warn("%s: read data fail\n", key); | ||
37 | + pr_warn("%.4s: read data fail\n", key); | ||
38 | return -EIO; | ||
39 | } | ||
40 | buffer[i] = inb(APPLESMC_DATA_PORT); | ||
41 | -- | ||
42 | 1.7.10 | ||
43 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0007-mm-pmd_read_atomic-fix-32bit-PAE-pmd-walk-vs-pmd_pop.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0007-mm-pmd_read_atomic-fix-32bit-PAE-pmd-walk-vs-pmd_pop.patch new file mode 100644 index 00000000..9cac18dd --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0007-mm-pmd_read_atomic-fix-32bit-PAE-pmd-walk-vs-pmd_pop.patch | |||
@@ -0,0 +1,218 @@ | |||
1 | From 8bf1709b6925d4e05120bdfed73992d50e7f11bf Mon Sep 17 00:00:00 2001 | ||
2 | From: Andrea Arcangeli <aarcange@redhat.com> | ||
3 | Date: Tue, 29 May 2012 15:06:49 -0700 | ||
4 | Subject: [PATCH 07/46] mm: pmd_read_atomic: fix 32bit PAE pmd walk vs | ||
5 | pmd_populate SMP race condition | ||
6 | |||
7 | commit 26c191788f18129af0eb32a358cdaea0c7479626 upstream. | ||
8 | |||
9 | When holding the mmap_sem for reading, pmd_offset_map_lock should only | ||
10 | run on a pmd_t that has been read atomically from the pmdp pointer, | ||
11 | otherwise we may read only half of it leading to this crash. | ||
12 | |||
13 | PID: 11679 TASK: f06e8000 CPU: 3 COMMAND: "do_race_2_panic" | ||
14 | #0 [f06a9dd8] crash_kexec at c049b5ec | ||
15 | #1 [f06a9e2c] oops_end at c083d1c2 | ||
16 | #2 [f06a9e40] no_context at c0433ded | ||
17 | #3 [f06a9e64] bad_area_nosemaphore at c043401a | ||
18 | #4 [f06a9e6c] __do_page_fault at c0434493 | ||
19 | #5 [f06a9eec] do_page_fault at c083eb45 | ||
20 | #6 [f06a9f04] error_code (via page_fault) at c083c5d5 | ||
21 | EAX: 01fb470c EBX: fff35000 ECX: 00000003 EDX: 00000100 EBP: | ||
22 | 00000000 | ||
23 | DS: 007b ESI: 9e201000 ES: 007b EDI: 01fb4700 GS: 00e0 | ||
24 | CS: 0060 EIP: c083bc14 ERR: ffffffff EFLAGS: 00010246 | ||
25 | #7 [f06a9f38] _spin_lock at c083bc14 | ||
26 | #8 [f06a9f44] sys_mincore at c0507b7d | ||
27 | #9 [f06a9fb0] system_call at c083becd | ||
28 | start len | ||
29 | EAX: ffffffda EBX: 9e200000 ECX: 00001000 EDX: 6228537f | ||
30 | DS: 007b ESI: 00000000 ES: 007b EDI: 003d0f00 | ||
31 | SS: 007b ESP: 62285354 EBP: 62285388 GS: 0033 | ||
32 | CS: 0073 EIP: 00291416 ERR: 000000da EFLAGS: 00000286 | ||
33 | |||
34 | This should be a longstanding bug affecting x86 32bit PAE without THP. | ||
35 | Only archs with 64bit large pmd_t and 32bit unsigned long should be | ||
36 | affected. | ||
37 | |||
38 | With THP enabled the barrier() in pmd_none_or_trans_huge_or_clear_bad() | ||
39 | would partly hide the bug when the pmd transition from none to stable, | ||
40 | by forcing a re-read of the *pmd in pmd_offset_map_lock, but when THP is | ||
41 | enabled a new set of problem arises by the fact could then transition | ||
42 | freely in any of the none, pmd_trans_huge or pmd_trans_stable states. | ||
43 | So making the barrier in pmd_none_or_trans_huge_or_clear_bad() | ||
44 | unconditional isn't good idea and it would be a flakey solution. | ||
45 | |||
46 | This should be fully fixed by introducing a pmd_read_atomic that reads | ||
47 | the pmd in order with THP disabled, or by reading the pmd atomically | ||
48 | with cmpxchg8b with THP enabled. | ||
49 | |||
50 | Luckily this new race condition only triggers in the places that must | ||
51 | already be covered by pmd_none_or_trans_huge_or_clear_bad() so the fix | ||
52 | is localized there but this bug is not related to THP. | ||
53 | |||
54 | NOTE: this can trigger on x86 32bit systems with PAE enabled with more | ||
55 | than 4G of ram, otherwise the high part of the pmd will never risk to be | ||
56 | truncated because it would be zero at all times, in turn so hiding the | ||
57 | SMP race. | ||
58 | |||
59 | This bug was discovered and fully debugged by Ulrich, quote: | ||
60 | |||
61 | ---- | ||
62 | [..] | ||
63 | pmd_none_or_trans_huge_or_clear_bad() loads the content of edx and | ||
64 | eax. | ||
65 | |||
66 | 496 static inline int pmd_none_or_trans_huge_or_clear_bad(pmd_t | ||
67 | *pmd) | ||
68 | 497 { | ||
69 | 498 /* depend on compiler for an atomic pmd read */ | ||
70 | 499 pmd_t pmdval = *pmd; | ||
71 | |||
72 | // edi = pmd pointer | ||
73 | 0xc0507a74 <sys_mincore+548>: mov 0x8(%esp),%edi | ||
74 | ... | ||
75 | // edx = PTE page table high address | ||
76 | 0xc0507a84 <sys_mincore+564>: mov 0x4(%edi),%edx | ||
77 | ... | ||
78 | // eax = PTE page table low address | ||
79 | 0xc0507a8e <sys_mincore+574>: mov (%edi),%eax | ||
80 | |||
81 | [..] | ||
82 | |||
83 | Please note that the PMD is not read atomically. These are two "mov" | ||
84 | instructions where the high order bits of the PMD entry are fetched | ||
85 | first. Hence, the above machine code is prone to the following race. | ||
86 | |||
87 | - The PMD entry {high|low} is 0x0000000000000000. | ||
88 | The "mov" at 0xc0507a84 loads 0x00000000 into edx. | ||
89 | |||
90 | - A page fault (on another CPU) sneaks in between the two "mov" | ||
91 | instructions and instantiates the PMD. | ||
92 | |||
93 | - The PMD entry {high|low} is now 0x00000003fda38067. | ||
94 | The "mov" at 0xc0507a8e loads 0xfda38067 into eax. | ||
95 | ---- | ||
96 | |||
97 | Reported-by: Ulrich Obergfell <uobergfe@redhat.com> | ||
98 | Signed-off-by: Andrea Arcangeli <aarcange@redhat.com> | ||
99 | Cc: Mel Gorman <mgorman@suse.de> | ||
100 | Cc: Hugh Dickins <hughd@google.com> | ||
101 | Cc: Larry Woodman <lwoodman@redhat.com> | ||
102 | Cc: Petr Matousek <pmatouse@redhat.com> | ||
103 | Cc: Rik van Riel <riel@redhat.com> | ||
104 | Signed-off-by: Andrew Morton <akpm@linux-foundation.org> | ||
105 | Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | ||
106 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
107 | --- | ||
108 | arch/x86/include/asm/pgtable-3level.h | 50 +++++++++++++++++++++++++++++++++ | ||
109 | include/asm-generic/pgtable.h | 22 +++++++++++++-- | ||
110 | 2 files changed, 70 insertions(+), 2 deletions(-) | ||
111 | |||
112 | diff --git a/arch/x86/include/asm/pgtable-3level.h b/arch/x86/include/asm/pgtable-3level.h | ||
113 | index effff47..43876f1 100644 | ||
114 | --- a/arch/x86/include/asm/pgtable-3level.h | ||
115 | +++ b/arch/x86/include/asm/pgtable-3level.h | ||
116 | @@ -31,6 +31,56 @@ static inline void native_set_pte(pte_t *ptep, pte_t pte) | ||
117 | ptep->pte_low = pte.pte_low; | ||
118 | } | ||
119 | |||
120 | +#define pmd_read_atomic pmd_read_atomic | ||
121 | +/* | ||
122 | + * pte_offset_map_lock on 32bit PAE kernels was reading the pmd_t with | ||
123 | + * a "*pmdp" dereference done by gcc. Problem is, in certain places | ||
124 | + * where pte_offset_map_lock is called, concurrent page faults are | ||
125 | + * allowed, if the mmap_sem is hold for reading. An example is mincore | ||
126 | + * vs page faults vs MADV_DONTNEED. On the page fault side | ||
127 | + * pmd_populate rightfully does a set_64bit, but if we're reading the | ||
128 | + * pmd_t with a "*pmdp" on the mincore side, a SMP race can happen | ||
129 | + * because gcc will not read the 64bit of the pmd atomically. To fix | ||
130 | + * this all places running pmd_offset_map_lock() while holding the | ||
131 | + * mmap_sem in read mode, shall read the pmdp pointer using this | ||
132 | + * function to know if the pmd is null nor not, and in turn to know if | ||
133 | + * they can run pmd_offset_map_lock or pmd_trans_huge or other pmd | ||
134 | + * operations. | ||
135 | + * | ||
136 | + * Without THP if the mmap_sem is hold for reading, the | ||
137 | + * pmd can only transition from null to not null while pmd_read_atomic runs. | ||
138 | + * So there's no need of literally reading it atomically. | ||
139 | + * | ||
140 | + * With THP if the mmap_sem is hold for reading, the pmd can become | ||
141 | + * THP or null or point to a pte (and in turn become "stable") at any | ||
142 | + * time under pmd_read_atomic, so it's mandatory to read it atomically | ||
143 | + * with cmpxchg8b. | ||
144 | + */ | ||
145 | +#ifndef CONFIG_TRANSPARENT_HUGEPAGE | ||
146 | +static inline pmd_t pmd_read_atomic(pmd_t *pmdp) | ||
147 | +{ | ||
148 | + pmdval_t ret; | ||
149 | + u32 *tmp = (u32 *)pmdp; | ||
150 | + | ||
151 | + ret = (pmdval_t) (*tmp); | ||
152 | + if (ret) { | ||
153 | + /* | ||
154 | + * If the low part is null, we must not read the high part | ||
155 | + * or we can end up with a partial pmd. | ||
156 | + */ | ||
157 | + smp_rmb(); | ||
158 | + ret |= ((pmdval_t)*(tmp + 1)) << 32; | ||
159 | + } | ||
160 | + | ||
161 | + return (pmd_t) { ret }; | ||
162 | +} | ||
163 | +#else /* CONFIG_TRANSPARENT_HUGEPAGE */ | ||
164 | +static inline pmd_t pmd_read_atomic(pmd_t *pmdp) | ||
165 | +{ | ||
166 | + return (pmd_t) { atomic64_read((atomic64_t *)pmdp) }; | ||
167 | +} | ||
168 | +#endif /* CONFIG_TRANSPARENT_HUGEPAGE */ | ||
169 | + | ||
170 | static inline void native_set_pte_atomic(pte_t *ptep, pte_t pte) | ||
171 | { | ||
172 | set_64bit((unsigned long long *)(ptep), native_pte_val(pte)); | ||
173 | diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h | ||
174 | index a03c098..831924a 100644 | ||
175 | --- a/include/asm-generic/pgtable.h | ||
176 | +++ b/include/asm-generic/pgtable.h | ||
177 | @@ -445,6 +445,18 @@ static inline int pmd_write(pmd_t pmd) | ||
178 | #endif /* __HAVE_ARCH_PMD_WRITE */ | ||
179 | #endif /* CONFIG_TRANSPARENT_HUGEPAGE */ | ||
180 | |||
181 | +#ifndef pmd_read_atomic | ||
182 | +static inline pmd_t pmd_read_atomic(pmd_t *pmdp) | ||
183 | +{ | ||
184 | + /* | ||
185 | + * Depend on compiler for an atomic pmd read. NOTE: this is | ||
186 | + * only going to work, if the pmdval_t isn't larger than | ||
187 | + * an unsigned long. | ||
188 | + */ | ||
189 | + return *pmdp; | ||
190 | +} | ||
191 | +#endif | ||
192 | + | ||
193 | /* | ||
194 | * This function is meant to be used by sites walking pagetables with | ||
195 | * the mmap_sem hold in read mode to protect against MADV_DONTNEED and | ||
196 | @@ -458,11 +470,17 @@ static inline int pmd_write(pmd_t pmd) | ||
197 | * undefined so behaving like if the pmd was none is safe (because it | ||
198 | * can return none anyway). The compiler level barrier() is critically | ||
199 | * important to compute the two checks atomically on the same pmdval. | ||
200 | + * | ||
201 | + * For 32bit kernels with a 64bit large pmd_t this automatically takes | ||
202 | + * care of reading the pmd atomically to avoid SMP race conditions | ||
203 | + * against pmd_populate() when the mmap_sem is hold for reading by the | ||
204 | + * caller (a special atomic read not done by "gcc" as in the generic | ||
205 | + * version above, is also needed when THP is disabled because the page | ||
206 | + * fault can populate the pmd from under us). | ||
207 | */ | ||
208 | static inline int pmd_none_or_trans_huge_or_clear_bad(pmd_t *pmd) | ||
209 | { | ||
210 | - /* depend on compiler for an atomic pmd read */ | ||
211 | - pmd_t pmdval = *pmd; | ||
212 | + pmd_t pmdval = pmd_read_atomic(pmd); | ||
213 | /* | ||
214 | * The barrier will stabilize the pmdval in a register or on | ||
215 | * the stack so that it will stop changing under the code. | ||
216 | -- | ||
217 | 1.7.10 | ||
218 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0008-thp-avoid-atomic64_read-in-pmd_read_atomic-for-32bit.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0008-thp-avoid-atomic64_read-in-pmd_read_atomic-for-32bit.patch new file mode 100644 index 00000000..79be9e0f --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0008-thp-avoid-atomic64_read-in-pmd_read_atomic-for-32bit.patch | |||
@@ -0,0 +1,125 @@ | |||
1 | From dcfb4634621189a74522dee4d0dab8b5c1786b02 Mon Sep 17 00:00:00 2001 | ||
2 | From: Andrea Arcangeli <aarcange@redhat.com> | ||
3 | Date: Wed, 20 Jun 2012 12:52:57 -0700 | ||
4 | Subject: [PATCH 08/46] thp: avoid atomic64_read in pmd_read_atomic for 32bit | ||
5 | PAE | ||
6 | |||
7 | commit e4eed03fd06578571c01d4f1478c874bb432c815 upstream. | ||
8 | |||
9 | In the x86 32bit PAE CONFIG_TRANSPARENT_HUGEPAGE=y case while holding the | ||
10 | mmap_sem for reading, cmpxchg8b cannot be used to read pmd contents under | ||
11 | Xen. | ||
12 | |||
13 | So instead of dealing only with "consistent" pmdvals in | ||
14 | pmd_none_or_trans_huge_or_clear_bad() (which would be conceptually | ||
15 | simpler) we let pmd_none_or_trans_huge_or_clear_bad() deal with pmdvals | ||
16 | where the low 32bit and high 32bit could be inconsistent (to avoid having | ||
17 | to use cmpxchg8b). | ||
18 | |||
19 | The only guarantee we get from pmd_read_atomic is that if the low part of | ||
20 | the pmd was found null, the high part will be null too (so the pmd will be | ||
21 | considered unstable). And if the low part of the pmd is found "stable" | ||
22 | later, then it means the whole pmd was read atomically (because after a | ||
23 | pmd is stable, neither MADV_DONTNEED nor page faults can alter it anymore, | ||
24 | and we read the high part after the low part). | ||
25 | |||
26 | In the 32bit PAE x86 case, it is enough to read the low part of the pmdval | ||
27 | atomically to declare the pmd as "stable" and that's true for THP and no | ||
28 | THP, furthermore in the THP case we also have a barrier() that will | ||
29 | prevent any inconsistent pmdvals to be cached by a later re-read of the | ||
30 | *pmd. | ||
31 | |||
32 | Signed-off-by: Andrea Arcangeli <aarcange@redhat.com> | ||
33 | Cc: Jonathan Nieder <jrnieder@gmail.com> | ||
34 | Cc: Ulrich Obergfell <uobergfe@redhat.com> | ||
35 | Cc: Mel Gorman <mgorman@suse.de> | ||
36 | Cc: Hugh Dickins <hughd@google.com> | ||
37 | Cc: Larry Woodman <lwoodman@redhat.com> | ||
38 | Cc: Petr Matousek <pmatouse@redhat.com> | ||
39 | Cc: Rik van Riel <riel@redhat.com> | ||
40 | Cc: Jan Beulich <jbeulich@suse.com> | ||
41 | Cc: KOSAKI Motohiro <kosaki.motohiro@gmail.com> | ||
42 | Tested-by: Andrew Jones <drjones@redhat.com> | ||
43 | Signed-off-by: Andrew Morton <akpm@linux-foundation.org> | ||
44 | Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | ||
45 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
46 | --- | ||
47 | arch/x86/include/asm/pgtable-3level.h | 30 +++++++++++++++++------------- | ||
48 | include/asm-generic/pgtable.h | 10 ++++++++++ | ||
49 | 2 files changed, 27 insertions(+), 13 deletions(-) | ||
50 | |||
51 | diff --git a/arch/x86/include/asm/pgtable-3level.h b/arch/x86/include/asm/pgtable-3level.h | ||
52 | index 43876f1..cb00ccc 100644 | ||
53 | --- a/arch/x86/include/asm/pgtable-3level.h | ||
54 | +++ b/arch/x86/include/asm/pgtable-3level.h | ||
55 | @@ -47,16 +47,26 @@ static inline void native_set_pte(pte_t *ptep, pte_t pte) | ||
56 | * they can run pmd_offset_map_lock or pmd_trans_huge or other pmd | ||
57 | * operations. | ||
58 | * | ||
59 | - * Without THP if the mmap_sem is hold for reading, the | ||
60 | - * pmd can only transition from null to not null while pmd_read_atomic runs. | ||
61 | - * So there's no need of literally reading it atomically. | ||
62 | + * Without THP if the mmap_sem is hold for reading, the pmd can only | ||
63 | + * transition from null to not null while pmd_read_atomic runs. So | ||
64 | + * we can always return atomic pmd values with this function. | ||
65 | * | ||
66 | * With THP if the mmap_sem is hold for reading, the pmd can become | ||
67 | - * THP or null or point to a pte (and in turn become "stable") at any | ||
68 | - * time under pmd_read_atomic, so it's mandatory to read it atomically | ||
69 | - * with cmpxchg8b. | ||
70 | + * trans_huge or none or point to a pte (and in turn become "stable") | ||
71 | + * at any time under pmd_read_atomic. We could read it really | ||
72 | + * atomically here with a atomic64_read for the THP enabled case (and | ||
73 | + * it would be a whole lot simpler), but to avoid using cmpxchg8b we | ||
74 | + * only return an atomic pmdval if the low part of the pmdval is later | ||
75 | + * found stable (i.e. pointing to a pte). And we're returning a none | ||
76 | + * pmdval if the low part of the pmd is none. In some cases the high | ||
77 | + * and low part of the pmdval returned may not be consistent if THP is | ||
78 | + * enabled (the low part may point to previously mapped hugepage, | ||
79 | + * while the high part may point to a more recently mapped hugepage), | ||
80 | + * but pmd_none_or_trans_huge_or_clear_bad() only needs the low part | ||
81 | + * of the pmd to be read atomically to decide if the pmd is unstable | ||
82 | + * or not, with the only exception of when the low part of the pmd is | ||
83 | + * zero in which case we return a none pmd. | ||
84 | */ | ||
85 | -#ifndef CONFIG_TRANSPARENT_HUGEPAGE | ||
86 | static inline pmd_t pmd_read_atomic(pmd_t *pmdp) | ||
87 | { | ||
88 | pmdval_t ret; | ||
89 | @@ -74,12 +84,6 @@ static inline pmd_t pmd_read_atomic(pmd_t *pmdp) | ||
90 | |||
91 | return (pmd_t) { ret }; | ||
92 | } | ||
93 | -#else /* CONFIG_TRANSPARENT_HUGEPAGE */ | ||
94 | -static inline pmd_t pmd_read_atomic(pmd_t *pmdp) | ||
95 | -{ | ||
96 | - return (pmd_t) { atomic64_read((atomic64_t *)pmdp) }; | ||
97 | -} | ||
98 | -#endif /* CONFIG_TRANSPARENT_HUGEPAGE */ | ||
99 | |||
100 | static inline void native_set_pte_atomic(pte_t *ptep, pte_t pte) | ||
101 | { | ||
102 | diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h | ||
103 | index 831924a..bc00876 100644 | ||
104 | --- a/include/asm-generic/pgtable.h | ||
105 | +++ b/include/asm-generic/pgtable.h | ||
106 | @@ -484,6 +484,16 @@ static inline int pmd_none_or_trans_huge_or_clear_bad(pmd_t *pmd) | ||
107 | /* | ||
108 | * The barrier will stabilize the pmdval in a register or on | ||
109 | * the stack so that it will stop changing under the code. | ||
110 | + * | ||
111 | + * When CONFIG_TRANSPARENT_HUGEPAGE=y on x86 32bit PAE, | ||
112 | + * pmd_read_atomic is allowed to return a not atomic pmdval | ||
113 | + * (for example pointing to an hugepage that has never been | ||
114 | + * mapped in the pmd). The below checks will only care about | ||
115 | + * the low part of the pmd with 32bit PAE x86 anyway, with the | ||
116 | + * exception of pmd_none(). So the important thing is that if | ||
117 | + * the low part of the pmd is found null, the high part will | ||
118 | + * be also null or the pmd_none() check below would be | ||
119 | + * confused. | ||
120 | */ | ||
121 | #ifdef CONFIG_TRANSPARENT_HUGEPAGE | ||
122 | barrier(); | ||
123 | -- | ||
124 | 1.7.10 | ||
125 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0009-nilfs2-ensure-proper-cache-clearing-for-gc-inodes.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0009-nilfs2-ensure-proper-cache-clearing-for-gc-inodes.patch new file mode 100644 index 00000000..4cfe4903 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0009-nilfs2-ensure-proper-cache-clearing-for-gc-inodes.patch | |||
@@ -0,0 +1,71 @@ | |||
1 | From c1a7e61b722c55f0bbbe234d8f16ab19882a0c6b Mon Sep 17 00:00:00 2001 | ||
2 | From: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> | ||
3 | Date: Wed, 20 Jun 2012 12:52:57 -0700 | ||
4 | Subject: [PATCH 09/46] nilfs2: ensure proper cache clearing for gc-inodes | ||
5 | |||
6 | commit fbb24a3a915f105016f1c828476be11aceac8504 upstream. | ||
7 | |||
8 | A gc-inode is a pseudo inode used to buffer the blocks to be moved by | ||
9 | garbage collection. | ||
10 | |||
11 | Block caches of gc-inodes must be cleared every time a garbage collection | ||
12 | function (nilfs_clean_segments) completes. Otherwise, stale blocks | ||
13 | buffered in the caches may be wrongly reused in successive calls of the GC | ||
14 | function. | ||
15 | |||
16 | For user files, this is not a problem because their gc-inodes are | ||
17 | distinguished by a checkpoint number as well as an inode number. They | ||
18 | never buffer different blocks if either an inode number, a checkpoint | ||
19 | number, or a block offset differs. | ||
20 | |||
21 | However, gc-inodes of sufile, cpfile and DAT file can store different data | ||
22 | for the same block offset. Thus, the nilfs_clean_segments function can | ||
23 | move incorrect block for these meta-data files if an old block is cached. | ||
24 | I found this is really causing meta-data corruption in nilfs. | ||
25 | |||
26 | This fixes the issue by ensuring cache clear of gc-inodes and resolves | ||
27 | reported GC problems including checkpoint file corruption, b-tree | ||
28 | corruption, and the following warning during GC. | ||
29 | |||
30 | nilfs_palloc_freev: entry number 307234 already freed. | ||
31 | ... | ||
32 | |||
33 | Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> | ||
34 | Tested-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> | ||
35 | Signed-off-by: Andrew Morton <akpm@linux-foundation.org> | ||
36 | Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | ||
37 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
38 | --- | ||
39 | fs/nilfs2/gcinode.c | 2 ++ | ||
40 | fs/nilfs2/segment.c | 2 ++ | ||
41 | 2 files changed, 4 insertions(+) | ||
42 | |||
43 | diff --git a/fs/nilfs2/gcinode.c b/fs/nilfs2/gcinode.c | ||
44 | index 08a07a2..57ceaf3 100644 | ||
45 | --- a/fs/nilfs2/gcinode.c | ||
46 | +++ b/fs/nilfs2/gcinode.c | ||
47 | @@ -191,6 +191,8 @@ void nilfs_remove_all_gcinodes(struct the_nilfs *nilfs) | ||
48 | while (!list_empty(head)) { | ||
49 | ii = list_first_entry(head, struct nilfs_inode_info, i_dirty); | ||
50 | list_del_init(&ii->i_dirty); | ||
51 | + truncate_inode_pages(&ii->vfs_inode.i_data, 0); | ||
52 | + nilfs_btnode_cache_clear(&ii->i_btnode_cache); | ||
53 | iput(&ii->vfs_inode); | ||
54 | } | ||
55 | } | ||
56 | diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c | ||
57 | index bb24ab6..6f24e67 100644 | ||
58 | --- a/fs/nilfs2/segment.c | ||
59 | +++ b/fs/nilfs2/segment.c | ||
60 | @@ -2309,6 +2309,8 @@ nilfs_remove_written_gcinodes(struct the_nilfs *nilfs, struct list_head *head) | ||
61 | if (!test_bit(NILFS_I_UPDATED, &ii->i_state)) | ||
62 | continue; | ||
63 | list_del_init(&ii->i_dirty); | ||
64 | + truncate_inode_pages(&ii->vfs_inode.i_data, 0); | ||
65 | + nilfs_btnode_cache_clear(&ii->i_btnode_cache); | ||
66 | iput(&ii->vfs_inode); | ||
67 | } | ||
68 | } | ||
69 | -- | ||
70 | 1.7.10 | ||
71 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0010-drm-i915-Finish-any-pending-operations-on-the-frameb.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0010-drm-i915-Finish-any-pending-operations-on-the-frameb.patch new file mode 100644 index 00000000..9d0f37e3 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0010-drm-i915-Finish-any-pending-operations-on-the-frameb.patch | |||
@@ -0,0 +1,130 @@ | |||
1 | From 4c0724b407a2c71dbb932d74363e386f798dca61 Mon Sep 17 00:00:00 2001 | ||
2 | From: Chris Wilson <chris@chris-wilson.co.uk> | ||
3 | Date: Tue, 3 Apr 2012 17:58:35 +0100 | ||
4 | Subject: [PATCH 10/46] drm/i915: Finish any pending operations on the | ||
5 | framebuffer before disabling | ||
6 | |||
7 | Similar to the case where we are changing from one framebuffer to | ||
8 | another, we need to be sure that there are no pending WAIT_FOR_EVENTs on | ||
9 | the pipe for the current framebuffer before switching. If we disable the | ||
10 | pipe, and then try to execute a WAIT_FOR_EVENT it will block | ||
11 | indefinitely and cause a GPU hang. | ||
12 | |||
13 | We attempted to fix this in commit 85345517fe6d4de27b0d6ca19fef9d28ac947c4a | ||
14 | (drm/i915: Retire any pending operations on the old scanout when switching) | ||
15 | for the case of mode switching, but this leaves the condition where we | ||
16 | are switching off the pipe vulnerable. | ||
17 | |||
18 | There still remains the race condition were a display may be unplugged, | ||
19 | switched off by the core, a uevent sent to notify the DDX and the DDX | ||
20 | may issue a WAIT_FOR_EVENT before it processes the uevent. This window | ||
21 | does not exist if the pipe is only switched off in response to the | ||
22 | uevent. Time to make sure that is so... | ||
23 | |||
24 | Reported-by: Francis Leblanc <Francis.Leblanc-Lebeau@verint.com> | ||
25 | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=36515 | ||
26 | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45413 | ||
27 | Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> | ||
28 | Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com> | ||
29 | [danvet: fixup spelling in comment, noticed by Eugeni.] | ||
30 | Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> | ||
31 | (cherry picked from commit 14667a4bde4361b7ac420d68a2e9e9b9b2df5231) | ||
32 | Signed-off-by: Timo Aaltonen <timo.aaltonen@canonical.com> | ||
33 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
34 | --- | ||
35 | drivers/gpu/drm/i915/intel_display.c | 65 ++++++++++++++++++++++++---------- | ||
36 | 1 file changed, 46 insertions(+), 19 deletions(-) | ||
37 | |||
38 | diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c | ||
39 | index 5c1cdb8..6aa7716 100644 | ||
40 | --- a/drivers/gpu/drm/i915/intel_display.c | ||
41 | +++ b/drivers/gpu/drm/i915/intel_display.c | ||
42 | @@ -2187,6 +2187,33 @@ intel_pipe_set_base_atomic(struct drm_crtc *crtc, struct drm_framebuffer *fb, | ||
43 | } | ||
44 | |||
45 | static int | ||
46 | +intel_finish_fb(struct drm_framebuffer *old_fb) | ||
47 | +{ | ||
48 | + struct drm_i915_gem_object *obj = to_intel_framebuffer(old_fb)->obj; | ||
49 | + struct drm_i915_private *dev_priv = obj->base.dev->dev_private; | ||
50 | + bool was_interruptible = dev_priv->mm.interruptible; | ||
51 | + int ret; | ||
52 | + | ||
53 | + wait_event(dev_priv->pending_flip_queue, | ||
54 | + atomic_read(&dev_priv->mm.wedged) || | ||
55 | + atomic_read(&obj->pending_flip) == 0); | ||
56 | + | ||
57 | + /* Big Hammer, we also need to ensure that any pending | ||
58 | + * MI_WAIT_FOR_EVENT inside a user batch buffer on the | ||
59 | + * current scanout is retired before unpinning the old | ||
60 | + * framebuffer. | ||
61 | + * | ||
62 | + * This should only fail upon a hung GPU, in which case we | ||
63 | + * can safely continue. | ||
64 | + */ | ||
65 | + dev_priv->mm.interruptible = false; | ||
66 | + ret = i915_gem_object_finish_gpu(obj); | ||
67 | + dev_priv->mm.interruptible = was_interruptible; | ||
68 | + | ||
69 | + return ret; | ||
70 | +} | ||
71 | + | ||
72 | +static int | ||
73 | intel_pipe_set_base(struct drm_crtc *crtc, int x, int y, | ||
74 | struct drm_framebuffer *old_fb) | ||
75 | { | ||
76 | @@ -2224,25 +2251,8 @@ intel_pipe_set_base(struct drm_crtc *crtc, int x, int y, | ||
77 | return ret; | ||
78 | } | ||
79 | |||
80 | - if (old_fb) { | ||
81 | - struct drm_i915_private *dev_priv = dev->dev_private; | ||
82 | - struct drm_i915_gem_object *obj = to_intel_framebuffer(old_fb)->obj; | ||
83 | - | ||
84 | - wait_event(dev_priv->pending_flip_queue, | ||
85 | - atomic_read(&dev_priv->mm.wedged) || | ||
86 | - atomic_read(&obj->pending_flip) == 0); | ||
87 | - | ||
88 | - /* Big Hammer, we also need to ensure that any pending | ||
89 | - * MI_WAIT_FOR_EVENT inside a user batch buffer on the | ||
90 | - * current scanout is retired before unpinning the old | ||
91 | - * framebuffer. | ||
92 | - * | ||
93 | - * This should only fail upon a hung GPU, in which case we | ||
94 | - * can safely continue. | ||
95 | - */ | ||
96 | - ret = i915_gem_object_finish_gpu(obj); | ||
97 | - (void) ret; | ||
98 | - } | ||
99 | + if (old_fb) | ||
100 | + intel_finish_fb(old_fb); | ||
101 | |||
102 | ret = intel_pipe_set_base_atomic(crtc, crtc->fb, x, y, | ||
103 | LEAVE_ATOMIC_MODE_SET); | ||
104 | @@ -3312,6 +3322,23 @@ static void intel_crtc_disable(struct drm_crtc *crtc) | ||
105 | struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private; | ||
106 | struct drm_device *dev = crtc->dev; | ||
107 | |||
108 | + /* Flush any pending WAITs before we disable the pipe. Note that | ||
109 | + * we need to drop the struct_mutex in order to acquire it again | ||
110 | + * during the lowlevel dpms routines around a couple of the | ||
111 | + * operations. It does not look trivial nor desirable to move | ||
112 | + * that locking higher. So instead we leave a window for the | ||
113 | + * submission of further commands on the fb before we can actually | ||
114 | + * disable it. This race with userspace exists anyway, and we can | ||
115 | + * only rely on the pipe being disabled by userspace after it | ||
116 | + * receives the hotplug notification and has flushed any pending | ||
117 | + * batches. | ||
118 | + */ | ||
119 | + if (crtc->fb) { | ||
120 | + mutex_lock(&dev->struct_mutex); | ||
121 | + intel_finish_fb(crtc->fb); | ||
122 | + mutex_unlock(&dev->struct_mutex); | ||
123 | + } | ||
124 | + | ||
125 | crtc_funcs->dpms(crtc, DRM_MODE_DPMS_OFF); | ||
126 | |||
127 | if (crtc->fb) { | ||
128 | -- | ||
129 | 1.7.10 | ||
130 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0011-drm-i915-Remove-use-of-the-autoreported-ringbuffer-H.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0011-drm-i915-Remove-use-of-the-autoreported-ringbuffer-H.patch new file mode 100644 index 00000000..ad69a943 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0011-drm-i915-Remove-use-of-the-autoreported-ringbuffer-H.patch | |||
@@ -0,0 +1,84 @@ | |||
1 | From 7e3ac17c5a78a999c5932d6617f63a6ca7cf91b0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Chris Wilson <chris@chris-wilson.co.uk> | ||
3 | Date: Wed, 8 Feb 2012 13:34:13 +0000 | ||
4 | Subject: [PATCH 11/46] drm/i915: Remove use of the autoreported ringbuffer | ||
5 | HEAD position | ||
6 | |||
7 | This is a revert of 6aa56062eaba67adfb247cded244fd877329588d. | ||
8 | |||
9 | This was originally introduced to workaround reads of the ringbuffer | ||
10 | registers returning 0 on SandyBridge causing hangs due to ringbuffer | ||
11 | overflow. The root cause here was reads through the GT powerwell require | ||
12 | the forcewake dance, something we only learnt of later. Now it appears | ||
13 | that reading the reported head position from the HWS is returning | ||
14 | garbage, leading once again to hangs. | ||
15 | |||
16 | For example, on q35 the autoreported head reports: | ||
17 | [ 217.975608] head now 00010000, actual 00010000 | ||
18 | [ 436.725613] head now 00200000, actual 00200000 | ||
19 | [ 462.956033] head now 00210000, actual 00210010 | ||
20 | [ 485.501409] head now 00400000, actual 00400020 | ||
21 | [ 508.064280] head now 00410000, actual 00410000 | ||
22 | [ 530.576078] head now 00600000, actual 00600020 | ||
23 | [ 553.273489] head now 00610000, actual 00610018 | ||
24 | which appears reasonably sane. In contrast, if we look at snb: | ||
25 | [ 141.970680] head now 00e10000, actual 00008238 | ||
26 | [ 141.974062] head now 02734000, actual 000083c8 | ||
27 | [ 141.974425] head now 00e10000, actual 00008488 | ||
28 | [ 141.980374] head now 032b5000, actual 000088b8 | ||
29 | [ 141.980885] head now 03271000, actual 00008950 | ||
30 | [ 142.040628] head now 02101000, actual 00008b40 | ||
31 | [ 142.180173] head now 02734000, actual 00009050 | ||
32 | [ 142.181090] head now 00000000, actual 00000ae0 | ||
33 | [ 142.183737] head now 02734000, actual 00009050 | ||
34 | |||
35 | In addition, the automatic reporting of the head position is scheduled | ||
36 | to be defeatured in the future. It has no more utility, remove it. | ||
37 | |||
38 | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45492 | ||
39 | Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> | ||
40 | Tested-by: Eric Anholt <eric@anholt.net> | ||
41 | Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> | ||
42 | Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> | ||
43 | (cherry picked from commit 5d031e5b633d910f35e6e0abce94d9d842390006) | ||
44 | Signed-off-by: Timo Aaltonen <timo.aaltonen@canonical.com> | ||
45 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
46 | --- | ||
47 | drivers/gpu/drm/i915/intel_ringbuffer.c | 14 +------------- | ||
48 | 1 file changed, 1 insertion(+), 13 deletions(-) | ||
49 | |||
50 | diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c | ||
51 | index 933e66b..f6613dc 100644 | ||
52 | --- a/drivers/gpu/drm/i915/intel_ringbuffer.c | ||
53 | +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c | ||
54 | @@ -306,7 +306,7 @@ static int init_ring_common(struct intel_ring_buffer *ring) | ||
55 | |||
56 | I915_WRITE_CTL(ring, | ||
57 | ((ring->size - PAGE_SIZE) & RING_NR_PAGES) | ||
58 | - | RING_REPORT_64K | RING_VALID); | ||
59 | + | RING_VALID); | ||
60 | |||
61 | /* If the head is still not zero, the ring is dead */ | ||
62 | if ((I915_READ_CTL(ring) & RING_VALID) == 0 || | ||
63 | @@ -1157,18 +1157,6 @@ int intel_wait_ring_buffer(struct intel_ring_buffer *ring, int n) | ||
64 | struct drm_device *dev = ring->dev; | ||
65 | struct drm_i915_private *dev_priv = dev->dev_private; | ||
66 | unsigned long end; | ||
67 | - u32 head; | ||
68 | - | ||
69 | - /* If the reported head position has wrapped or hasn't advanced, | ||
70 | - * fallback to the slow and accurate path. | ||
71 | - */ | ||
72 | - head = intel_read_status_page(ring, 4); | ||
73 | - if (head > ring->head) { | ||
74 | - ring->head = head; | ||
75 | - ring->space = ring_space(ring); | ||
76 | - if (ring->space >= n) | ||
77 | - return 0; | ||
78 | - } | ||
79 | |||
80 | trace_i915_ring_wait_begin(ring); | ||
81 | end = jiffies + 3 * HZ; | ||
82 | -- | ||
83 | 1.7.10 | ||
84 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0012-e1000e-Disable-ASPM-L1-on-82574.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0012-e1000e-Disable-ASPM-L1-on-82574.patch new file mode 100644 index 00000000..b47746dc --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0012-e1000e-Disable-ASPM-L1-on-82574.patch | |||
@@ -0,0 +1,41 @@ | |||
1 | From 7bc45fa1ef48339e44c48d53e0cdb9d0d4e33d43 Mon Sep 17 00:00:00 2001 | ||
2 | From: Chris Boot <bootc@bootc.net> | ||
3 | Date: Tue, 24 Apr 2012 07:24:52 +0000 | ||
4 | Subject: [PATCH 12/46] e1000e: Disable ASPM L1 on 82574 | ||
5 | |||
6 | commit id d4a4206ebbaf48b55803a7eb34e330530d83a889 | ||
7 | |||
8 | ASPM on the 82574 causes trouble. Currently the driver disables L0s for | ||
9 | this NIC but only disables L1 if the MTU is >1500. This patch simply | ||
10 | causes L1 to be disabled regardless of the MTU setting. | ||
11 | |||
12 | Signed-off-by: Chris Boot <bootc@bootc.net> | ||
13 | Cc: "Wyborny, Carolyn" <carolyn.wyborny@intel.com> | ||
14 | Cc: Nix <nix@esperi.org.uk> | ||
15 | Link: https://lkml.org/lkml/2012/3/19/362 | ||
16 | Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com> | ||
17 | [Jeff Kirsher: Backport to 3.2-3.4 kernels] | ||
18 | Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> | ||
19 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
20 | --- | ||
21 | drivers/net/ethernet/intel/e1000e/82571.c | 3 ++- | ||
22 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
23 | |||
24 | diff --git a/drivers/net/ethernet/intel/e1000e/82571.c b/drivers/net/ethernet/intel/e1000e/82571.c | ||
25 | index a3e65fd..e556fc3 100644 | ||
26 | --- a/drivers/net/ethernet/intel/e1000e/82571.c | ||
27 | +++ b/drivers/net/ethernet/intel/e1000e/82571.c | ||
28 | @@ -2080,8 +2080,9 @@ const struct e1000_info e1000_82574_info = { | ||
29 | | FLAG_HAS_SMART_POWER_DOWN | ||
30 | | FLAG_HAS_AMT | ||
31 | | FLAG_HAS_CTRLEXT_ON_LOAD, | ||
32 | - .flags2 = FLAG2_CHECK_PHY_HANG | ||
33 | + .flags2 = FLAG2_CHECK_PHY_HANG | ||
34 | | FLAG2_DISABLE_ASPM_L0S | ||
35 | + | FLAG2_DISABLE_ASPM_L1 | ||
36 | | FLAG2_NO_DISABLE_RX, | ||
37 | .pba = 32, | ||
38 | .max_hw_frame_size = DEFAULT_JUMBO, | ||
39 | -- | ||
40 | 1.7.10 | ||
41 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0013-e1000e-Remove-special-case-for-82573-82574-ASPM-L1-d.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0013-e1000e-Remove-special-case-for-82573-82574-ASPM-L1-d.patch new file mode 100644 index 00000000..3eeacc05 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0013-e1000e-Remove-special-case-for-82573-82574-ASPM-L1-d.patch | |||
@@ -0,0 +1,43 @@ | |||
1 | From 51d8e7091033042d3ae09363abe5e93d0698930e Mon Sep 17 00:00:00 2001 | ||
2 | From: Chris Boot <bootc@bootc.net> | ||
3 | Date: Tue, 24 Apr 2012 07:24:58 +0000 | ||
4 | Subject: [PATCH 13/46] e1000e: Remove special case for 82573/82574 ASPM L1 | ||
5 | disablement | ||
6 | |||
7 | commit 59aed95263bdd0e2b48eb9be5a94346d2d4abf90 upstream. | ||
8 | |||
9 | For the 82573, ASPM L1 gets disabled wholesale so this special-case code | ||
10 | is not required. For the 82574 the previous patch does the same as for | ||
11 | the 82573, disabling L1 on the adapter. Thus, this code is no longer | ||
12 | required and can be removed. | ||
13 | |||
14 | Signed-off-by: Chris Boot <bootc@bootc.net> | ||
15 | Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com> | ||
16 | Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> | ||
17 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
18 | --- | ||
19 | drivers/net/ethernet/intel/e1000e/netdev.c | 8 -------- | ||
20 | 1 file changed, 8 deletions(-) | ||
21 | |||
22 | diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c | ||
23 | index 4e933d1..64d3f98 100644 | ||
24 | --- a/drivers/net/ethernet/intel/e1000e/netdev.c | ||
25 | +++ b/drivers/net/ethernet/intel/e1000e/netdev.c | ||
26 | @@ -5132,14 +5132,6 @@ static int e1000_change_mtu(struct net_device *netdev, int new_mtu) | ||
27 | return -EINVAL; | ||
28 | } | ||
29 | |||
30 | - /* 82573 Errata 17 */ | ||
31 | - if (((adapter->hw.mac.type == e1000_82573) || | ||
32 | - (adapter->hw.mac.type == e1000_82574)) && | ||
33 | - (max_frame > ETH_FRAME_LEN + ETH_FCS_LEN)) { | ||
34 | - adapter->flags2 |= FLAG2_DISABLE_ASPM_L1; | ||
35 | - e1000e_disable_aspm(adapter->pdev, PCIE_LINK_STATE_L1); | ||
36 | - } | ||
37 | - | ||
38 | while (test_and_set_bit(__E1000_RESETTING, &adapter->state)) | ||
39 | usleep_range(1000, 2000); | ||
40 | /* e1000e_down -> e1000e_reset dependent on max_frame_size & mtu */ | ||
41 | -- | ||
42 | 1.7.10 | ||
43 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0014-drm-i915-Do-the-fallback-non-IRQ-wait-in-ring-thrott.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0014-drm-i915-Do-the-fallback-non-IRQ-wait-in-ring-thrott.patch new file mode 100644 index 00000000..3601ef45 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0014-drm-i915-Do-the-fallback-non-IRQ-wait-in-ring-thrott.patch | |||
@@ -0,0 +1,39 @@ | |||
1 | From f00febe1475d06993b3f723ece375388dcf3bb9b Mon Sep 17 00:00:00 2001 | ||
2 | From: Eric Anholt <eric@anholt.net> | ||
3 | Date: Thu, 22 Dec 2011 14:54:59 -0800 | ||
4 | Subject: [PATCH 14/46] drm/i915: Do the fallback non-IRQ wait in ring | ||
5 | throttle, too. | ||
6 | |||
7 | commit 7ea29b13e5e3e1e61e612349eb0366efdb6457f3 upstream. | ||
8 | |||
9 | As a workaround for IRQ synchronization issues in the gen7 BLT ring, | ||
10 | we want to turn the two wait functions into polling loops. | ||
11 | |||
12 | Signed-off-by: Eric Anholt <eric@anholt.net> | ||
13 | Tested-by: Eugeni Dodonov <eugeni.dodonov@intel.com> | ||
14 | Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com> | ||
15 | Acked-by: Kenneth Graunke <kenneth@whitecape.org> | ||
16 | Signed-off-by: Keith Packard <keithp@keithp.com> | ||
17 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
18 | --- | ||
19 | drivers/gpu/drm/i915/i915_gem.c | 4 ++++ | ||
20 | 1 file changed, 4 insertions(+) | ||
21 | |||
22 | diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c | ||
23 | index 3e7c478..3e2edc6 100644 | ||
24 | --- a/drivers/gpu/drm/i915/i915_gem.c | ||
25 | +++ b/drivers/gpu/drm/i915/i915_gem.c | ||
26 | @@ -3312,6 +3312,10 @@ i915_gem_ring_throttle(struct drm_device *dev, struct drm_file *file) | ||
27 | |||
28 | if (ret == 0 && atomic_read(&dev_priv->mm.wedged)) | ||
29 | ret = -EIO; | ||
30 | + } else if (wait_for(i915_seqno_passed(ring->get_seqno(ring), | ||
31 | + seqno) || | ||
32 | + atomic_read(&dev_priv->mm.wedged), 3000)) { | ||
33 | + ret = -EBUSY; | ||
34 | } | ||
35 | } | ||
36 | |||
37 | -- | ||
38 | 1.7.10 | ||
39 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0015-staging-rts_pstor-Fix-possible-panic-by-NULL-pointer.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0015-staging-rts_pstor-Fix-possible-panic-by-NULL-pointer.patch new file mode 100644 index 00000000..bfe82b66 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0015-staging-rts_pstor-Fix-possible-panic-by-NULL-pointer.patch | |||
@@ -0,0 +1,72 @@ | |||
1 | From 1c17511004913ab88dd06ac7df912125a97ea2c3 Mon Sep 17 00:00:00 2001 | ||
2 | From: wwang <wei_wang@realsil.com.cn> | ||
3 | Date: Tue, 27 Mar 2012 16:43:11 +0800 | ||
4 | Subject: [PATCH 15/46] staging:rts_pstor:Fix possible panic by NULL pointer | ||
5 | dereference | ||
6 | |||
7 | commit 0d05568ac79bfc595f1eadc3e0fd7a20a45f7b69 upstream. | ||
8 | |||
9 | rtsx_transport.c (rtsx_transfer_sglist_adma_partial): | ||
10 | pointer struct scatterlist *sg, which is mapped in dma_map_sg, | ||
11 | is used as an iterator in later transfer operation. It is corrupted and | ||
12 | passed to dma_unmap_sg, thus causing fatal unmap of some erroneous address. | ||
13 | Fix it by duplicating *sg_ptr for iterating. | ||
14 | |||
15 | Signed-off-by: wwang <wei_wang@realsil.com.cn> | ||
16 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | ||
17 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
18 | --- | ||
19 | drivers/staging/rts_pstor/rtsx_transport.c | 11 ++++++----- | ||
20 | 1 file changed, 6 insertions(+), 5 deletions(-) | ||
21 | |||
22 | diff --git a/drivers/staging/rts_pstor/rtsx_transport.c b/drivers/staging/rts_pstor/rtsx_transport.c | ||
23 | index 4e3d2c1..9b2e5c9 100644 | ||
24 | --- a/drivers/staging/rts_pstor/rtsx_transport.c | ||
25 | +++ b/drivers/staging/rts_pstor/rtsx_transport.c | ||
26 | @@ -335,6 +335,7 @@ static int rtsx_transfer_sglist_adma_partial(struct rtsx_chip *chip, u8 card, | ||
27 | int sg_cnt, i, resid; | ||
28 | int err = 0; | ||
29 | long timeleft; | ||
30 | + struct scatterlist *sg_ptr; | ||
31 | u32 val = TRIG_DMA; | ||
32 | |||
33 | if ((sg == NULL) || (num_sg <= 0) || !offset || !index) | ||
34 | @@ -371,7 +372,7 @@ static int rtsx_transfer_sglist_adma_partial(struct rtsx_chip *chip, u8 card, | ||
35 | sg_cnt = dma_map_sg(&(rtsx->pci->dev), sg, num_sg, dma_dir); | ||
36 | |||
37 | resid = size; | ||
38 | - | ||
39 | + sg_ptr = sg; | ||
40 | chip->sgi = 0; | ||
41 | /* Usually the next entry will be @sg@ + 1, but if this sg element | ||
42 | * is part of a chained scatterlist, it could jump to the start of | ||
43 | @@ -379,14 +380,14 @@ static int rtsx_transfer_sglist_adma_partial(struct rtsx_chip *chip, u8 card, | ||
44 | * the proper sg | ||
45 | */ | ||
46 | for (i = 0; i < *index; i++) | ||
47 | - sg = sg_next(sg); | ||
48 | + sg_ptr = sg_next(sg_ptr); | ||
49 | for (i = *index; i < sg_cnt; i++) { | ||
50 | dma_addr_t addr; | ||
51 | unsigned int len; | ||
52 | u8 option; | ||
53 | |||
54 | - addr = sg_dma_address(sg); | ||
55 | - len = sg_dma_len(sg); | ||
56 | + addr = sg_dma_address(sg_ptr); | ||
57 | + len = sg_dma_len(sg_ptr); | ||
58 | |||
59 | RTSX_DEBUGP("DMA addr: 0x%x, Len: 0x%x\n", | ||
60 | (unsigned int)addr, len); | ||
61 | @@ -415,7 +416,7 @@ static int rtsx_transfer_sglist_adma_partial(struct rtsx_chip *chip, u8 card, | ||
62 | if (!resid) | ||
63 | break; | ||
64 | |||
65 | - sg = sg_next(sg); | ||
66 | + sg_ptr = sg_next(sg_ptr); | ||
67 | } | ||
68 | |||
69 | RTSX_DEBUGP("SG table count = %d\n", chip->sgi); | ||
70 | -- | ||
71 | 1.7.10 | ||
72 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0016-gspca-core-Fix-buffers-staying-in-queued-state-after.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0016-gspca-core-Fix-buffers-staying-in-queued-state-after.patch new file mode 100644 index 00000000..152c0d51 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0016-gspca-core-Fix-buffers-staying-in-queued-state-after.patch | |||
@@ -0,0 +1,45 @@ | |||
1 | From f9f47b15a0eb3d8ae86f5d034fd8924ab258a4d2 Mon Sep 17 00:00:00 2001 | ||
2 | From: Hans de Goede <hdegoede@redhat.com> | ||
3 | Date: Tue, 22 May 2012 11:24:05 -0300 | ||
4 | Subject: [PATCH 16/46] gspca-core: Fix buffers staying in queued state after | ||
5 | a stream_off | ||
6 | |||
7 | commit af05ef01e9cde84620c6855a8d8ab9c8a1db9009 upstream. | ||
8 | |||
9 | This fixes a regression introduced by commit f7059ea and should be | ||
10 | backported to all supported stable kernels which have this commit. | ||
11 | |||
12 | Signed-off-by: Hans de Goede <hdegoede@redhat.com> | ||
13 | Tested-by: Antonio Ospite <ospite@studenti.unina.it> | ||
14 | Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> | ||
15 | [bwh: Backported to 3.2: adjust context] | ||
16 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
17 | --- | ||
18 | drivers/media/video/gspca/gspca.c | 4 +++- | ||
19 | 1 file changed, 3 insertions(+), 1 deletion(-) | ||
20 | |||
21 | diff --git a/drivers/media/video/gspca/gspca.c b/drivers/media/video/gspca/gspca.c | ||
22 | index 2ca10df..981501f 100644 | ||
23 | --- a/drivers/media/video/gspca/gspca.c | ||
24 | +++ b/drivers/media/video/gspca/gspca.c | ||
25 | @@ -1697,7 +1697,7 @@ static int vidioc_streamoff(struct file *file, void *priv, | ||
26 | enum v4l2_buf_type buf_type) | ||
27 | { | ||
28 | struct gspca_dev *gspca_dev = priv; | ||
29 | - int ret; | ||
30 | + int i, ret; | ||
31 | |||
32 | if (buf_type != V4L2_BUF_TYPE_VIDEO_CAPTURE) | ||
33 | return -EINVAL; | ||
34 | @@ -1728,6 +1728,8 @@ static int vidioc_streamoff(struct file *file, void *priv, | ||
35 | wake_up_interruptible(&gspca_dev->wq); | ||
36 | |||
37 | /* empty the transfer queues */ | ||
38 | + for (i = 0; i < gspca_dev->nframes; i++) | ||
39 | + gspca_dev->frame[i].v4l2_buf.flags &= ~BUF_ALL_FLAGS; | ||
40 | atomic_set(&gspca_dev->fr_q, 0); | ||
41 | atomic_set(&gspca_dev->fr_i, 0); | ||
42 | gspca_dev->fr_o = 0; | ||
43 | -- | ||
44 | 1.7.10 | ||
45 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0017-smsusb-add-autodetection-support-for-USB-ID-2040-f5a.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0017-smsusb-add-autodetection-support-for-USB-ID-2040-f5a.patch new file mode 100644 index 00000000..84e2eb96 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0017-smsusb-add-autodetection-support-for-USB-ID-2040-f5a.patch | |||
@@ -0,0 +1,30 @@ | |||
1 | From ac5a4cc2f5d46f744484e577f41441acdbb0a68b Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Krufky <mkrufky@linuxtv.org> | ||
3 | Date: Fri, 25 May 2012 09:29:12 -0300 | ||
4 | Subject: [PATCH 17/46] smsusb: add autodetection support for USB ID 2040:f5a0 | ||
5 | |||
6 | commit 3e1141e2ce5667301a74ca2ef396d9bd5e995f7f upstream. | ||
7 | |||
8 | Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> | ||
9 | Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> | ||
10 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
11 | --- | ||
12 | drivers/media/dvb/siano/smsusb.c | 2 ++ | ||
13 | 1 file changed, 2 insertions(+) | ||
14 | |||
15 | diff --git a/drivers/media/dvb/siano/smsusb.c b/drivers/media/dvb/siano/smsusb.c | ||
16 | index b7d1e3e..fb68805 100644 | ||
17 | --- a/drivers/media/dvb/siano/smsusb.c | ||
18 | +++ b/drivers/media/dvb/siano/smsusb.c | ||
19 | @@ -544,6 +544,8 @@ static const struct usb_device_id smsusb_id_table[] __devinitconst = { | ||
20 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, | ||
21 | { USB_DEVICE(0x2040, 0xc0a0), | ||
22 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, | ||
23 | + { USB_DEVICE(0x2040, 0xf5a0), | ||
24 | + .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, | ||
25 | { } /* Terminating entry */ | ||
26 | }; | ||
27 | |||
28 | -- | ||
29 | 1.7.10 | ||
30 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0018-drm-edid-don-t-return-stack-garbage-from-supports_rb.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0018-drm-edid-don-t-return-stack-garbage-from-supports_rb.patch new file mode 100644 index 00000000..87ce7d91 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0018-drm-edid-don-t-return-stack-garbage-from-supports_rb.patch | |||
@@ -0,0 +1,36 @@ | |||
1 | From 2d6a30faab149fe943e5648ef8ed9a6de7c112b1 Mon Sep 17 00:00:00 2001 | ||
2 | From: Daniel Vetter <daniel.vetter@ffwll.ch> | ||
3 | Date: Tue, 19 Jun 2012 11:33:06 +0200 | ||
4 | Subject: [PATCH 18/46] drm/edid: don't return stack garbage from supports_rb | ||
5 | |||
6 | commit b196a4980ff7bb54db478e2a408dc8b12be15304 upstream. | ||
7 | |||
8 | We need to initialize this to false, because the is_rb callback only | ||
9 | ever sets it to true. | ||
10 | |||
11 | Noticed while reading through the code. | ||
12 | |||
13 | Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch> | ||
14 | Reviewed-by: Adam Jackson <ajax@redhat.com> | ||
15 | Signed-off-by: Dave Airlie <airlied@redhat.com> | ||
16 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
17 | --- | ||
18 | drivers/gpu/drm/drm_edid.c | 2 +- | ||
19 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
20 | |||
21 | diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c | ||
22 | index 3e927ce..a1ee634 100644 | ||
23 | --- a/drivers/gpu/drm/drm_edid.c | ||
24 | +++ b/drivers/gpu/drm/drm_edid.c | ||
25 | @@ -585,7 +585,7 @@ static bool | ||
26 | drm_monitor_supports_rb(struct edid *edid) | ||
27 | { | ||
28 | if (edid->revision >= 4) { | ||
29 | - bool ret; | ||
30 | + bool ret = false; | ||
31 | drm_for_each_detailed_block((u8 *)edid, is_rb, &ret); | ||
32 | return ret; | ||
33 | } | ||
34 | -- | ||
35 | 1.7.10 | ||
36 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0019-drm-nouveau-fbcon-using-nv_two_heads-is-not-a-good-i.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0019-drm-nouveau-fbcon-using-nv_two_heads-is-not-a-good-i.patch new file mode 100644 index 00000000..85deab49 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0019-drm-nouveau-fbcon-using-nv_two_heads-is-not-a-good-i.patch | |||
@@ -0,0 +1,43 @@ | |||
1 | From 94823f5367fcb795a9e2d263b23c600ffa1b465f Mon Sep 17 00:00:00 2001 | ||
2 | From: Ben Skeggs <bskeggs@redhat.com> | ||
3 | Date: Tue, 26 Jun 2012 12:12:30 +1000 | ||
4 | Subject: [PATCH 19/46] drm/nouveau/fbcon: using nv_two_heads is not a good | ||
5 | idea | ||
6 | |||
7 | commit 9bd0c15fcfb42f6245447c53347d65ad9e72080b upstream. | ||
8 | |||
9 | nv_two_heads() was never meant to be used outside of pre-nv50 code. The | ||
10 | code checks for >= NV_10 for 2 CRTCs, then downgrades a few specific | ||
11 | chipsets to 1 CRTC based on (pci_device & 0x0ff0). | ||
12 | |||
13 | The breakage example seen is on GTX 560Ti, with a pciid of 0x1200, which | ||
14 | gets detected as an NV20 (0x020x) with 1 CRTC by nv_two_heads(), causing | ||
15 | memory corruption because there's actually 2 CRTCs.. | ||
16 | |||
17 | This switches fbcon to use the CRTC count directly from the mode_config | ||
18 | structure, which will also fix the same issue on Kepler boards which have | ||
19 | 4 CRTCs. | ||
20 | |||
21 | Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | ||
22 | Signed-off-by: Dave Airlie <airlied@redhat.com> | ||
23 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
24 | --- | ||
25 | drivers/gpu/drm/nouveau/nouveau_fbcon.c | 2 +- | ||
26 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
27 | |||
28 | diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.c b/drivers/gpu/drm/nouveau/nouveau_fbcon.c | ||
29 | index 3a4cc32..cc0801d 100644 | ||
30 | --- a/drivers/gpu/drm/nouveau/nouveau_fbcon.c | ||
31 | +++ b/drivers/gpu/drm/nouveau/nouveau_fbcon.c | ||
32 | @@ -499,7 +499,7 @@ int nouveau_fbcon_init(struct drm_device *dev) | ||
33 | nfbdev->helper.funcs = &nouveau_fbcon_helper_funcs; | ||
34 | |||
35 | ret = drm_fb_helper_init(dev, &nfbdev->helper, | ||
36 | - nv_two_heads(dev) ? 2 : 1, 4); | ||
37 | + dev->mode_config.num_crtc, 4); | ||
38 | if (ret) { | ||
39 | kfree(nfbdev); | ||
40 | return ret; | ||
41 | -- | ||
42 | 1.7.10 | ||
43 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0020-dm-thin-reinstate-missing-mempool_free-in-cell_relea.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0020-dm-thin-reinstate-missing-mempool_free-in-cell_relea.patch new file mode 100644 index 00000000..725aa129 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0020-dm-thin-reinstate-missing-mempool_free-in-cell_relea.patch | |||
@@ -0,0 +1,55 @@ | |||
1 | From 41466ed94cbd995e8553e3f6bd76b698cdb398ab Mon Sep 17 00:00:00 2001 | ||
2 | From: Mike Snitzer <snitzer@redhat.com> | ||
3 | Date: Sat, 12 May 2012 01:43:12 +0100 | ||
4 | Subject: [PATCH 20/46] dm thin: reinstate missing mempool_free in | ||
5 | cell_release_singleton | ||
6 | |||
7 | commit 03aaae7cdc71bc306888440b1f569d463e917b6d upstream. | ||
8 | |||
9 | Fix a significant memory leak inadvertently introduced during | ||
10 | simplification of cell_release_singleton() in commit | ||
11 | 6f94a4c45a6f744383f9f695dde019998db3df55 ("dm thin: fix stacked bi_next | ||
12 | usage"). | ||
13 | |||
14 | A cell's hlist_del() must be accompanied by a mempool_free(). | ||
15 | Use __cell_release() to do this, like before. | ||
16 | |||
17 | Signed-off-by: Mike Snitzer <snitzer@redhat.com> | ||
18 | Signed-off-by: Alasdair G Kergon <agk@redhat.com> | ||
19 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
20 | --- | ||
21 | drivers/md/dm-thin.c | 9 ++++++--- | ||
22 | 1 file changed, 6 insertions(+), 3 deletions(-) | ||
23 | |||
24 | diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c | ||
25 | index da2f021..532a902 100644 | ||
26 | --- a/drivers/md/dm-thin.c | ||
27 | +++ b/drivers/md/dm-thin.c | ||
28 | @@ -288,8 +288,10 @@ static void __cell_release(struct cell *cell, struct bio_list *inmates) | ||
29 | |||
30 | hlist_del(&cell->list); | ||
31 | |||
32 | - bio_list_add(inmates, cell->holder); | ||
33 | - bio_list_merge(inmates, &cell->bios); | ||
34 | + if (inmates) { | ||
35 | + bio_list_add(inmates, cell->holder); | ||
36 | + bio_list_merge(inmates, &cell->bios); | ||
37 | + } | ||
38 | |||
39 | mempool_free(cell, prison->cell_pool); | ||
40 | } | ||
41 | @@ -312,9 +314,10 @@ static void cell_release(struct cell *cell, struct bio_list *bios) | ||
42 | */ | ||
43 | static void __cell_release_singleton(struct cell *cell, struct bio *bio) | ||
44 | { | ||
45 | - hlist_del(&cell->list); | ||
46 | BUG_ON(cell->holder != bio); | ||
47 | BUG_ON(!bio_list_empty(&cell->bios)); | ||
48 | + | ||
49 | + __cell_release(cell, NULL); | ||
50 | } | ||
51 | |||
52 | static void cell_release_singleton(struct cell *cell, struct bio *bio) | ||
53 | -- | ||
54 | 1.7.10 | ||
55 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0021-ath9k-Fix-a-WARNING-on-suspend-resume-with-IBSS.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0021-ath9k-Fix-a-WARNING-on-suspend-resume-with-IBSS.patch new file mode 100644 index 00000000..a3917dca --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0021-ath9k-Fix-a-WARNING-on-suspend-resume-with-IBSS.patch | |||
@@ -0,0 +1,75 @@ | |||
1 | From 5bd15d249215ca79b080b366616c0a5f1c38904c Mon Sep 17 00:00:00 2001 | ||
2 | From: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> | ||
3 | Date: Wed, 6 Jun 2012 10:33:10 +0530 | ||
4 | Subject: [PATCH 21/46] ath9k: Fix a WARNING on suspend/resume with IBSS | ||
5 | |||
6 | commit 2031b4c2b4904f7448ab9e4bc6b9bf16e32709f5 upstream. | ||
7 | |||
8 | this patch is dependent on the patch "cfg80211: fix interface | ||
9 | combinations" | ||
10 | |||
11 | In ath9k currently we have ADHOC interface as a single incompatible | ||
12 | interface. when drv_add_interface is called during resume we got to | ||
13 | consider number of vifs already present in addition to checking the | ||
14 | drivers 'opmode' information about ADHOC. we incorrectly assume | ||
15 | an ADHOC interface is already present. Then we may miss some driver | ||
16 | specific data for the ADHOC interface after resume. | ||
17 | |||
18 | The above mentioned checks can be removed from the driver, | ||
19 | as the patch 'cfg80211: fix interface combinations' ensures that | ||
20 | if an interface type is not advertised by the driver in any of the | ||
21 | interface combinations(via ieee80211_iface_combination) then it shall | ||
22 | be treated as a single incompatible interface. Fixes the following | ||
23 | warning on suspend/resume with ibss interface. | ||
24 | |||
25 | ath: phy0: Cannot create ADHOC interface when other | ||
26 | interfaces already exist. | ||
27 | WARNING: at net/mac80211/driver-ops.h:12 | ||
28 | ieee80211_reconfig+0x1882/0x1ca0 [mac80211]() | ||
29 | Hardware name: 2842RK1 | ||
30 | wlan2: Failed check-sdata-in-driver check, flags: 0x0 | ||
31 | |||
32 | Call Trace: | ||
33 | [<c01361b2>] warn_slowpath_common+0x72/0xa0 | ||
34 | [<f8aaa7c2>] ? ieee80211_reconfig+0x1882/0x1ca0 | ||
35 | [mac80211] | ||
36 | [<f8aaa7c2>] ? ieee80211_reconfig+0x1882/0x1ca0 | ||
37 | [mac80211] | ||
38 | [<c0136283>] warn_slowpath_fmt+0x33/0x40 | ||
39 | [<f8aaa7c2>] ieee80211_reconfig+0x1882/0x1ca0 [mac80211] | ||
40 | [<c06c1d1a>] ? mutex_lock_nested+0x23a/0x2f0 | ||
41 | [<f8a95097>] ieee80211_resume+0x27/0x70 [mac80211] | ||
42 | [<fd177edf>] wiphy_resume+0x8f/0xa0 [cfg80211] | ||
43 | |||
44 | Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> | ||
45 | Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> | ||
46 | Signed-off-by: John W. Linville <linville@tuxdriver.com> | ||
47 | [bwh: Backported to 3.2: adjust context] | ||
48 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
49 | --- | ||
50 | drivers/net/wireless/ath/ath9k/main.c | 9 --------- | ||
51 | 1 file changed, 9 deletions(-) | ||
52 | |||
53 | diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c | ||
54 | index f76a814..5b22ecd 100644 | ||
55 | --- a/drivers/net/wireless/ath/ath9k/main.c | ||
56 | +++ b/drivers/net/wireless/ath/ath9k/main.c | ||
57 | @@ -1486,15 +1486,6 @@ static int ath9k_add_interface(struct ieee80211_hw *hw, | ||
58 | } | ||
59 | } | ||
60 | |||
61 | - if ((ah->opmode == NL80211_IFTYPE_ADHOC) || | ||
62 | - ((vif->type == NL80211_IFTYPE_ADHOC) && | ||
63 | - sc->nvifs > 0)) { | ||
64 | - ath_err(common, "Cannot create ADHOC interface when other" | ||
65 | - " interfaces already exist.\n"); | ||
66 | - ret = -EINVAL; | ||
67 | - goto out; | ||
68 | - } | ||
69 | - | ||
70 | ath_dbg(common, ATH_DBG_CONFIG, | ||
71 | "Attach a VIF of type: %d\n", vif->type); | ||
72 | |||
73 | -- | ||
74 | 1.7.10 | ||
75 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0022-cfg80211-fix-potential-deadlock-in-regulatory.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0022-cfg80211-fix-potential-deadlock-in-regulatory.patch new file mode 100644 index 00000000..fe1bc4b2 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0022-cfg80211-fix-potential-deadlock-in-regulatory.patch | |||
@@ -0,0 +1,144 @@ | |||
1 | From 76f7c2172698cade04f33c7f8841b641c95ddeda Mon Sep 17 00:00:00 2001 | ||
2 | From: Eliad Peller <eliad@wizery.com> | ||
3 | Date: Tue, 12 Jun 2012 12:53:13 +0300 | ||
4 | Subject: [PATCH 22/46] cfg80211: fix potential deadlock in regulatory | ||
5 | |||
6 | commit fe20b39ec32e975f1054c0b7866c873a954adf05 upstream. | ||
7 | |||
8 | reg_timeout_work() calls restore_regulatory_settings() which | ||
9 | takes cfg80211_mutex. | ||
10 | |||
11 | reg_set_request_processed() already holds cfg80211_mutex | ||
12 | before calling cancel_delayed_work_sync(reg_timeout), | ||
13 | so it might deadlock. | ||
14 | |||
15 | Call the async cancel_delayed_work instead, in order | ||
16 | to avoid the potential deadlock. | ||
17 | |||
18 | This is the relevant lockdep warning: | ||
19 | |||
20 | cfg80211: Calling CRDA for country: XX | ||
21 | |||
22 | ====================================================== | ||
23 | [ INFO: possible circular locking dependency detected ] | ||
24 | 3.4.0-rc5-wl+ #26 Not tainted | ||
25 | ------------------------------------------------------- | ||
26 | kworker/0:2/1391 is trying to acquire lock: | ||
27 | (cfg80211_mutex){+.+.+.}, at: [<bf28ae00>] restore_regulatory_settings+0x34/0x418 [cfg80211] | ||
28 | |||
29 | but task is already holding lock: | ||
30 | ((reg_timeout).work){+.+...}, at: [<c0059e94>] process_one_work+0x1f0/0x480 | ||
31 | |||
32 | which lock already depends on the new lock. | ||
33 | |||
34 | the existing dependency chain (in reverse order) is: | ||
35 | |||
36 | -> #2 ((reg_timeout).work){+.+...}: | ||
37 | [<c008fd44>] validate_chain+0xb94/0x10f0 | ||
38 | [<c0090b68>] __lock_acquire+0x8c8/0x9b0 | ||
39 | [<c0090d40>] lock_acquire+0xf0/0x114 | ||
40 | [<c005b600>] wait_on_work+0x4c/0x154 | ||
41 | [<c005c000>] __cancel_work_timer+0xd4/0x11c | ||
42 | [<c005c064>] cancel_delayed_work_sync+0x1c/0x20 | ||
43 | [<bf28b274>] reg_set_request_processed+0x50/0x78 [cfg80211] | ||
44 | [<bf28bd84>] set_regdom+0x550/0x600 [cfg80211] | ||
45 | [<bf294cd8>] nl80211_set_reg+0x218/0x258 [cfg80211] | ||
46 | [<c03c7738>] genl_rcv_msg+0x1a8/0x1e8 | ||
47 | [<c03c6a00>] netlink_rcv_skb+0x5c/0xc0 | ||
48 | [<c03c7584>] genl_rcv+0x28/0x34 | ||
49 | [<c03c6720>] netlink_unicast+0x15c/0x228 | ||
50 | [<c03c6c7c>] netlink_sendmsg+0x218/0x298 | ||
51 | [<c03933c8>] sock_sendmsg+0xa4/0xc0 | ||
52 | [<c039406c>] __sys_sendmsg+0x1e4/0x268 | ||
53 | [<c0394228>] sys_sendmsg+0x4c/0x70 | ||
54 | [<c0013840>] ret_fast_syscall+0x0/0x3c | ||
55 | |||
56 | -> #1 (reg_mutex){+.+.+.}: | ||
57 | [<c008fd44>] validate_chain+0xb94/0x10f0 | ||
58 | [<c0090b68>] __lock_acquire+0x8c8/0x9b0 | ||
59 | [<c0090d40>] lock_acquire+0xf0/0x114 | ||
60 | [<c04734dc>] mutex_lock_nested+0x48/0x320 | ||
61 | [<bf28b2cc>] reg_todo+0x30/0x538 [cfg80211] | ||
62 | [<c0059f44>] process_one_work+0x2a0/0x480 | ||
63 | [<c005a4b4>] worker_thread+0x1bc/0x2bc | ||
64 | [<c0061148>] kthread+0x98/0xa4 | ||
65 | [<c0014af4>] kernel_thread_exit+0x0/0x8 | ||
66 | |||
67 | -> #0 (cfg80211_mutex){+.+.+.}: | ||
68 | [<c008ed58>] print_circular_bug+0x68/0x2cc | ||
69 | [<c008fb28>] validate_chain+0x978/0x10f0 | ||
70 | [<c0090b68>] __lock_acquire+0x8c8/0x9b0 | ||
71 | [<c0090d40>] lock_acquire+0xf0/0x114 | ||
72 | [<c04734dc>] mutex_lock_nested+0x48/0x320 | ||
73 | [<bf28ae00>] restore_regulatory_settings+0x34/0x418 [cfg80211] | ||
74 | [<bf28b200>] reg_timeout_work+0x1c/0x20 [cfg80211] | ||
75 | [<c0059f44>] process_one_work+0x2a0/0x480 | ||
76 | [<c005a4b4>] worker_thread+0x1bc/0x2bc | ||
77 | [<c0061148>] kthread+0x98/0xa4 | ||
78 | [<c0014af4>] kernel_thread_exit+0x0/0x8 | ||
79 | |||
80 | other info that might help us debug this: | ||
81 | |||
82 | Chain exists of: | ||
83 | cfg80211_mutex --> reg_mutex --> (reg_timeout).work | ||
84 | |||
85 | Possible unsafe locking scenario: | ||
86 | |||
87 | CPU0 CPU1 | ||
88 | ---- ---- | ||
89 | lock((reg_timeout).work); | ||
90 | lock(reg_mutex); | ||
91 | lock((reg_timeout).work); | ||
92 | lock(cfg80211_mutex); | ||
93 | |||
94 | *** DEADLOCK *** | ||
95 | |||
96 | 2 locks held by kworker/0:2/1391: | ||
97 | #0: (events){.+.+.+}, at: [<c0059e94>] process_one_work+0x1f0/0x480 | ||
98 | #1: ((reg_timeout).work){+.+...}, at: [<c0059e94>] process_one_work+0x1f0/0x480 | ||
99 | |||
100 | stack backtrace: | ||
101 | [<c001b928>] (unwind_backtrace+0x0/0x12c) from [<c0471d3c>] (dump_stack+0x20/0x24) | ||
102 | [<c0471d3c>] (dump_stack+0x20/0x24) from [<c008ef70>] (print_circular_bug+0x280/0x2cc) | ||
103 | [<c008ef70>] (print_circular_bug+0x280/0x2cc) from [<c008fb28>] (validate_chain+0x978/0x10f0) | ||
104 | [<c008fb28>] (validate_chain+0x978/0x10f0) from [<c0090b68>] (__lock_acquire+0x8c8/0x9b0) | ||
105 | [<c0090b68>] (__lock_acquire+0x8c8/0x9b0) from [<c0090d40>] (lock_acquire+0xf0/0x114) | ||
106 | [<c0090d40>] (lock_acquire+0xf0/0x114) from [<c04734dc>] (mutex_lock_nested+0x48/0x320) | ||
107 | [<c04734dc>] (mutex_lock_nested+0x48/0x320) from [<bf28ae00>] (restore_regulatory_settings+0x34/0x418 [cfg80211]) | ||
108 | [<bf28ae00>] (restore_regulatory_settings+0x34/0x418 [cfg80211]) from [<bf28b200>] (reg_timeout_work+0x1c/0x20 [cfg80211]) | ||
109 | [<bf28b200>] (reg_timeout_work+0x1c/0x20 [cfg80211]) from [<c0059f44>] (process_one_work+0x2a0/0x480) | ||
110 | [<c0059f44>] (process_one_work+0x2a0/0x480) from [<c005a4b4>] (worker_thread+0x1bc/0x2bc) | ||
111 | [<c005a4b4>] (worker_thread+0x1bc/0x2bc) from [<c0061148>] (kthread+0x98/0xa4) | ||
112 | [<c0061148>] (kthread+0x98/0xa4) from [<c0014af4>] (kernel_thread_exit+0x0/0x8) | ||
113 | cfg80211: Calling CRDA to update world regulatory domain | ||
114 | cfg80211: World regulatory domain updated: | ||
115 | cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) | ||
116 | cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) | ||
117 | cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) | ||
118 | cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) | ||
119 | cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) | ||
120 | cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) | ||
121 | |||
122 | Signed-off-by: Eliad Peller <eliad@wizery.com> | ||
123 | Signed-off-by: Johannes Berg <johannes.berg@intel.com> | ||
124 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
125 | --- | ||
126 | net/wireless/reg.c | 2 +- | ||
127 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
128 | |||
129 | diff --git a/net/wireless/reg.c b/net/wireless/reg.c | ||
130 | index c1c99dd..d57d05b 100644 | ||
131 | --- a/net/wireless/reg.c | ||
132 | +++ b/net/wireless/reg.c | ||
133 | @@ -1369,7 +1369,7 @@ static void reg_set_request_processed(void) | ||
134 | spin_unlock(®_requests_lock); | ||
135 | |||
136 | if (last_request->initiator == NL80211_REGDOM_SET_BY_USER) | ||
137 | - cancel_delayed_work_sync(®_timeout); | ||
138 | + cancel_delayed_work(®_timeout); | ||
139 | |||
140 | if (need_more_processing) | ||
141 | schedule_work(®_work); | ||
142 | -- | ||
143 | 1.7.10 | ||
144 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0023-ath9k-Fix-softlockup-in-AR9485.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0023-ath9k-Fix-softlockup-in-AR9485.patch new file mode 100644 index 00000000..7a88ca07 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0023-ath9k-Fix-softlockup-in-AR9485.patch | |||
@@ -0,0 +1,68 @@ | |||
1 | From 7195eb3dcc15a2a0ea8c557806abf32241e276d1 Mon Sep 17 00:00:00 2001 | ||
2 | From: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> | ||
3 | Date: Wed, 13 Jun 2012 21:28:09 +0530 | ||
4 | Subject: [PATCH 23/46] ath9k: Fix softlockup in AR9485 | ||
5 | |||
6 | commit bcb7ad7bcbef030e6ba71ede1f9866368aca7c99 upstream. | ||
7 | |||
8 | steps to recreate: | ||
9 | load latest ath9k driver with AR9485 | ||
10 | stop the network-manager and wpa_supplicant | ||
11 | bring the interface up | ||
12 | |||
13 | Call Trace: | ||
14 | [<ffffffffa0517490>] ? ath_hw_check+0xe0/0xe0 [ath9k] | ||
15 | [<ffffffff812cd1e8>] __const_udelay+0x28/0x30 | ||
16 | [<ffffffffa03bae7a>] ar9003_get_pll_sqsum_dvc+0x4a/0x80 [ath9k_hw] | ||
17 | [<ffffffffa05174eb>] ath_hw_pll_work+0x5b/0xe0 [ath9k] | ||
18 | [<ffffffff810744fe>] process_one_work+0x11e/0x470 | ||
19 | [<ffffffff8107530f>] worker_thread+0x15f/0x360 | ||
20 | [<ffffffff810751b0>] ? manage_workers+0x230/0x230 | ||
21 | [<ffffffff81079af3>] kthread+0x93/0xa0 | ||
22 | [<ffffffff815fd3a4>] kernel_thread_helper+0x4/0x10 | ||
23 | [<ffffffff81079a60>] ? kthread_freezable_should_stop+0x70/0x70 | ||
24 | [<ffffffff815fd3a0>] ? gs_change+0x13/0x13 | ||
25 | |||
26 | ensure that the PLL-WAR for AR9485/AR9340 is executed only if the STA is | ||
27 | associated (or) IBSS/AP mode had started beaconing. Ideally this WAR | ||
28 | is needed to recover from some rare beacon stuck during stress testing. | ||
29 | Before the STA is associated/IBSS had started beaconing, PLL4(0x1618c) | ||
30 | always seem to have zero even though we had configured PLL3(0x16188) to | ||
31 | query about PLL's locking status. When we keep on polling infinitely PLL4's | ||
32 | 8th bit(ie check for PLL locking measurements is done), machine hangs | ||
33 | due to softlockup. | ||
34 | |||
35 | fixes https://bugzilla.redhat.com/show_bug.cgi?id=811142 | ||
36 | |||
37 | Reported-by: Rolf Offermanns <rolf.offermanns@gmx.net> | ||
38 | Tested-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> | ||
39 | Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> | ||
40 | Signed-off-by: John W. Linville <linville@tuxdriver.com> | ||
41 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
42 | --- | ||
43 | drivers/net/wireless/ath/ath9k/main.c | 9 +++++++++ | ||
44 | 1 file changed, 9 insertions(+) | ||
45 | |||
46 | diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c | ||
47 | index 5b22ecd..95437fc 100644 | ||
48 | --- a/drivers/net/wireless/ath/ath9k/main.c | ||
49 | +++ b/drivers/net/wireless/ath/ath9k/main.c | ||
50 | @@ -1042,6 +1042,15 @@ void ath_hw_pll_work(struct work_struct *work) | ||
51 | hw_pll_work.work); | ||
52 | u32 pll_sqsum; | ||
53 | |||
54 | + /* | ||
55 | + * ensure that the PLL WAR is executed only | ||
56 | + * after the STA is associated (or) if the | ||
57 | + * beaconing had started in interfaces that | ||
58 | + * uses beacons. | ||
59 | + */ | ||
60 | + if (!(sc->sc_flags & SC_OP_BEACONS)) | ||
61 | + return; | ||
62 | + | ||
63 | if (AR_SREV_9485(sc->sc_ah)) { | ||
64 | |||
65 | ath9k_ps_wakeup(sc); | ||
66 | -- | ||
67 | 1.7.10 | ||
68 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0024-can-c_can-precedence-error-in-c_can_chip_config.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0024-can-c_can-precedence-error-in-c_can_chip_config.patch new file mode 100644 index 00000000..4fd58e46 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0024-can-c_can-precedence-error-in-c_can_chip_config.patch | |||
@@ -0,0 +1,38 @@ | |||
1 | From a06c6152d3db3bab83eefcbff5a1e41c91c8295d Mon Sep 17 00:00:00 2001 | ||
2 | From: Dan Carpenter <dan.carpenter@oracle.com> | ||
3 | Date: Fri, 15 Jun 2012 00:20:44 +0000 | ||
4 | Subject: [PATCH 24/46] can: c_can: precedence error in c_can_chip_config() | ||
5 | |||
6 | commit d9cb9bd63eb27ac19f26a8547128c053f43a5da8 upstream. | ||
7 | |||
8 | (CAN_CTRLMODE_LISTENONLY & CAN_CTRLMODE_LOOPBACK) is (0x02 & 0x01) which | ||
9 | is zero so the condition is never true. The intent here was to test | ||
10 | that both flags were set. | ||
11 | |||
12 | Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> | ||
13 | Acked-by: Oliver Hartkopp <socketcan@hartkopp.net> | ||
14 | Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> | ||
15 | Signed-off-by: David S. Miller <davem@davemloft.net> | ||
16 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
17 | --- | ||
18 | drivers/net/can/c_can/c_can.c | 4 ++-- | ||
19 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
20 | |||
21 | diff --git a/drivers/net/can/c_can/c_can.c b/drivers/net/can/c_can/c_can.c | ||
22 | index 8dc84d6..86cd532 100644 | ||
23 | --- a/drivers/net/can/c_can/c_can.c | ||
24 | +++ b/drivers/net/can/c_can/c_can.c | ||
25 | @@ -590,8 +590,8 @@ static void c_can_chip_config(struct net_device *dev) | ||
26 | priv->write_reg(priv, &priv->regs->control, | ||
27 | CONTROL_ENABLE_AR); | ||
28 | |||
29 | - if (priv->can.ctrlmode & (CAN_CTRLMODE_LISTENONLY & | ||
30 | - CAN_CTRLMODE_LOOPBACK)) { | ||
31 | + if ((priv->can.ctrlmode & CAN_CTRLMODE_LISTENONLY) && | ||
32 | + (priv->can.ctrlmode & CAN_CTRLMODE_LOOPBACK)) { | ||
33 | /* loopback + silent mode : useful for hot self-test */ | ||
34 | priv->write_reg(priv, &priv->regs->control, CONTROL_EIE | | ||
35 | CONTROL_SIE | CONTROL_IE | CONTROL_TEST); | ||
36 | -- | ||
37 | 1.7.10 | ||
38 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0025-ath9k-fix-a-tx-rate-duration-calculation-bug.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0025-ath9k-fix-a-tx-rate-duration-calculation-bug.patch new file mode 100644 index 00000000..82df3fbc --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0025-ath9k-fix-a-tx-rate-duration-calculation-bug.patch | |||
@@ -0,0 +1,41 @@ | |||
1 | From aabb8d6daa5fecfc6086a480865312860e6a1080 Mon Sep 17 00:00:00 2001 | ||
2 | From: Felix Fietkau <nbd@openwrt.org> | ||
3 | Date: Fri, 15 Jun 2012 03:04:52 +0200 | ||
4 | Subject: [PATCH 25/46] ath9k: fix a tx rate duration calculation bug | ||
5 | |||
6 | commit 76591bea9714a58d8924154068c78d702eb2cb17 upstream. | ||
7 | |||
8 | The rate pointer variable for a rate series is used in a loop before it is | ||
9 | initialized. This went unnoticed because it was used earlier for the RTS/CTS | ||
10 | rate. This bug can lead to the wrong PHY type being passed to the | ||
11 | duration calculation function. | ||
12 | |||
13 | Signed-off-by: Felix Fietkau <nbd@openwrt.org> | ||
14 | Signed-off-by: John W. Linville <linville@tuxdriver.com> | ||
15 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
16 | --- | ||
17 | drivers/net/wireless/ath/ath9k/xmit.c | 2 +- | ||
18 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
19 | |||
20 | diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c | ||
21 | index 76fd277..c59c592 100644 | ||
22 | --- a/drivers/net/wireless/ath/ath9k/xmit.c | ||
23 | +++ b/drivers/net/wireless/ath/ath9k/xmit.c | ||
24 | @@ -936,13 +936,13 @@ static void ath_buf_set_rate(struct ath_softc *sc, struct ath_buf *bf, | ||
25 | } | ||
26 | |||
27 | /* legacy rates */ | ||
28 | + rate = &sc->sbands[tx_info->band].bitrates[rates[i].idx]; | ||
29 | if ((tx_info->band == IEEE80211_BAND_2GHZ) && | ||
30 | !(rate->flags & IEEE80211_RATE_ERP_G)) | ||
31 | phy = WLAN_RC_PHY_CCK; | ||
32 | else | ||
33 | phy = WLAN_RC_PHY_OFDM; | ||
34 | |||
35 | - rate = &sc->sbands[tx_info->band].bitrates[rates[i].idx]; | ||
36 | info->rates[i].Rate = rate->hw_value; | ||
37 | if (rate->hw_value_short) { | ||
38 | if (rates[i].flags & IEEE80211_TX_RC_USE_SHORT_PREAMBLE) | ||
39 | -- | ||
40 | 1.7.10 | ||
41 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0026-batman-adv-fix-skb-data-assignment.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0026-batman-adv-fix-skb-data-assignment.patch new file mode 100644 index 00000000..f64ab788 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0026-batman-adv-fix-skb-data-assignment.patch | |||
@@ -0,0 +1,42 @@ | |||
1 | From 124c9eb2772ae36b2a2d9afa510976cc38a497ef Mon Sep 17 00:00:00 2001 | ||
2 | From: Antonio Quartulli <ordex@autistici.org> | ||
3 | Date: Fri, 29 Jun 2012 22:58:03 +0200 | ||
4 | Subject: [PATCH 26/46] batman-adv: fix skb->data assignment | ||
5 | |||
6 | commit 2c995ff892313009e336ecc8ec3411022f5b1c39 upstream. | ||
7 | |||
8 | skb_linearize(skb) possibly rearranges the skb internal data and then changes | ||
9 | the skb->data pointer value. For this reason any other pointer in the code that | ||
10 | was assigned skb->data before invoking skb_linearise(skb) must be re-assigned. | ||
11 | |||
12 | In the current tt_query message handling code this is not done and therefore, in | ||
13 | case of skb linearization, the pointer used to handle the packet header ends up | ||
14 | in pointing to free'd memory. | ||
15 | |||
16 | This bug was introduced by a73105b8d4c765d9ebfb664d0a66802127d8e4c7 | ||
17 | (batman-adv: improved client announcement mechanism) | ||
18 | |||
19 | Signed-off-by: Antonio Quartulli <ordex@autistici.org> | ||
20 | Signed-off-by: David S. Miller <davem@davemloft.net> | ||
21 | [This patch is a backport for kernel versions 3.1 and 3.2 - Antonio] | ||
22 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
23 | --- | ||
24 | net/batman-adv/routing.c | 2 ++ | ||
25 | 1 file changed, 2 insertions(+) | ||
26 | |||
27 | diff --git a/net/batman-adv/routing.c b/net/batman-adv/routing.c | ||
28 | index f961cc5..da587ad 100644 | ||
29 | --- a/net/batman-adv/routing.c | ||
30 | +++ b/net/batman-adv/routing.c | ||
31 | @@ -619,6 +619,8 @@ int recv_tt_query(struct sk_buff *skb, struct hard_iface *recv_if) | ||
32 | /* packet needs to be linearized to access the TT changes */ | ||
33 | if (skb_linearize(skb) < 0) | ||
34 | goto out; | ||
35 | + /* skb_linearize() possibly changed skb->data */ | ||
36 | + tt_query = (struct tt_query_packet *)skb->data; | ||
37 | |||
38 | if (is_my_mac(tt_query->dst)) | ||
39 | handle_tt_response(bat_priv, tt_query); | ||
40 | -- | ||
41 | 1.7.10 | ||
42 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0027-ARM-SAMSUNG-Should-check-for-IS_ERR-clk-instead-of-N.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0027-ARM-SAMSUNG-Should-check-for-IS_ERR-clk-instead-of-N.patch new file mode 100644 index 00000000..99b9398a --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0027-ARM-SAMSUNG-Should-check-for-IS_ERR-clk-instead-of-N.patch | |||
@@ -0,0 +1,33 @@ | |||
1 | From dcf35ea664aae563cd99db11c78285f28b7bdcde Mon Sep 17 00:00:00 2001 | ||
2 | From: Jonghwan Choi <jhbird.choi@samsung.com> | ||
3 | Date: Wed, 20 Jun 2012 17:05:37 +0900 | ||
4 | Subject: [PATCH 27/46] ARM: SAMSUNG: Should check for IS_ERR(clk) instead of | ||
5 | NULL | ||
6 | |||
7 | commit a5d8f4765f0e92ef027492a8cb979c5b8d45f2c3 upstream. | ||
8 | |||
9 | On the error condition clk_get() returns ERR_PTR(). | ||
10 | |||
11 | Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com> | ||
12 | Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> | ||
13 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
14 | --- | ||
15 | arch/arm/plat-samsung/include/plat/watchdog-reset.h | 2 +- | ||
16 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
17 | |||
18 | diff --git a/arch/arm/plat-samsung/include/plat/watchdog-reset.h b/arch/arm/plat-samsung/include/plat/watchdog-reset.h | ||
19 | index 40dbb2b..11b19ea 100644 | ||
20 | --- a/arch/arm/plat-samsung/include/plat/watchdog-reset.h | ||
21 | +++ b/arch/arm/plat-samsung/include/plat/watchdog-reset.h | ||
22 | @@ -24,7 +24,7 @@ static inline void arch_wdt_reset(void) | ||
23 | |||
24 | __raw_writel(0, S3C2410_WTCON); /* disable watchdog, to be safe */ | ||
25 | |||
26 | - if (s3c2410_wdtclk) | ||
27 | + if (!IS_ERR(s3c2410_wdtclk)) | ||
28 | clk_enable(s3c2410_wdtclk); | ||
29 | |||
30 | /* put initial values into count and data */ | ||
31 | -- | ||
32 | 1.7.10 | ||
33 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0028-ath9k_hw-avoid-possible-infinite-loop-in-ar9003_get_.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0028-ath9k_hw-avoid-possible-infinite-loop-in-ar9003_get_.patch new file mode 100644 index 00000000..2b1b0a77 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0028-ath9k_hw-avoid-possible-infinite-loop-in-ar9003_get_.patch | |||
@@ -0,0 +1,61 @@ | |||
1 | From 750f92b77aa8db48a56f5d34dd6a61a3184cf119 Mon Sep 17 00:00:00 2001 | ||
2 | From: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> | ||
3 | Date: Mon, 18 Jun 2012 13:13:30 +0530 | ||
4 | Subject: [PATCH 28/46] ath9k_hw: avoid possible infinite loop in | ||
5 | ar9003_get_pll_sqsum_dvc | ||
6 | |||
7 | commit f18e3c6b67f448ec47b3a5b242789bd3d5644879 upstream. | ||
8 | |||
9 | "ath9k: Fix softlockup in AR9485" with commit id | ||
10 | 64bc1239c790e051ff677e023435d770d2ffa174 fixed the reported | ||
11 | issue, yet its better to avoid the possible infinite loop | ||
12 | in ar9003_get_pll_sqsum_dvc by having a timeout as suggested | ||
13 | by ath9k maintainers. | ||
14 | http://www.spinics.net/lists/linux-wireless/msg92126.html. | ||
15 | Based on my testing PLL's locking measurement is done in | ||
16 | ~200us (2 iterations). | ||
17 | |||
18 | Cc: Rolf Offermanns <rolf.offermanns@gmx.net> | ||
19 | Cc: Sujith Manoharan <c_manoha@qca.qualcomm.com> | ||
20 | Cc: Senthil Balasubramanian <senthilb@qca.qualcomm.com> | ||
21 | Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> | ||
22 | Signed-off-by: John W. Linville <linville@tuxdriver.com> | ||
23 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
24 | --- | ||
25 | drivers/net/wireless/ath/ath9k/hw.c | 14 +++++++++++++- | ||
26 | 1 file changed, 13 insertions(+), 1 deletion(-) | ||
27 | |||
28 | diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c | ||
29 | index 8b0c2ca..6973620 100644 | ||
30 | --- a/drivers/net/wireless/ath/ath9k/hw.c | ||
31 | +++ b/drivers/net/wireless/ath/ath9k/hw.c | ||
32 | @@ -718,13 +718,25 @@ static void ath9k_hw_init_qos(struct ath_hw *ah) | ||
33 | |||
34 | u32 ar9003_get_pll_sqsum_dvc(struct ath_hw *ah) | ||
35 | { | ||
36 | + struct ath_common *common = ath9k_hw_common(ah); | ||
37 | + int i = 0; | ||
38 | + | ||
39 | REG_CLR_BIT(ah, PLL3, PLL3_DO_MEAS_MASK); | ||
40 | udelay(100); | ||
41 | REG_SET_BIT(ah, PLL3, PLL3_DO_MEAS_MASK); | ||
42 | |||
43 | - while ((REG_READ(ah, PLL4) & PLL4_MEAS_DONE) == 0) | ||
44 | + while ((REG_READ(ah, PLL4) & PLL4_MEAS_DONE) == 0) { | ||
45 | + | ||
46 | udelay(100); | ||
47 | |||
48 | + if (WARN_ON_ONCE(i >= 100)) { | ||
49 | + ath_err(common, "PLL4 meaurement not done\n"); | ||
50 | + break; | ||
51 | + } | ||
52 | + | ||
53 | + i++; | ||
54 | + } | ||
55 | + | ||
56 | return (REG_READ(ah, PLL3) & SQSUM_DVC_MASK) >> 3; | ||
57 | } | ||
58 | EXPORT_SYMBOL(ar9003_get_pll_sqsum_dvc); | ||
59 | -- | ||
60 | 1.7.10 | ||
61 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0029-iwlwifi-remove-log_event-debugfs-file-debugging-is-d.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0029-iwlwifi-remove-log_event-debugfs-file-debugging-is-d.patch new file mode 100644 index 00000000..65fb0bea --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0029-iwlwifi-remove-log_event-debugfs-file-debugging-is-d.patch | |||
@@ -0,0 +1,67 @@ | |||
1 | From 470e08b2e73b3ce64336de8d55b009e4782735b8 Mon Sep 17 00:00:00 2001 | ||
2 | From: Johannes Berg <johannes.berg@intel.com> | ||
3 | Date: Wed, 20 Jun 2012 08:46:25 +0200 | ||
4 | Subject: [PATCH 29/46] iwlwifi: remove log_event debugfs file debugging is | ||
5 | disabled | ||
6 | |||
7 | commit 882b7b7d11d65e8eccce738f1ce97cdfdb998f9f upstream. | ||
8 | |||
9 | When debugging is disabled, the event log functions aren't | ||
10 | functional in the way that the debugfs file expects. This | ||
11 | leads to the debugfs access crashing. Since the event log | ||
12 | functions aren't functional then, remove the debugfs file | ||
13 | when CONFIG_IWLWIFI_DEBUG is not set. | ||
14 | |||
15 | Reported-by: Lekensteyn <lekensteyn@gmail.com> | ||
16 | Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> | ||
17 | Signed-off-by: Johannes Berg <johannes.berg@intel.com> | ||
18 | Signed-off-by: John W. Linville <linville@tuxdriver.com> | ||
19 | [bwh: Backported to 3.2: adjust filename, context] | ||
20 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
21 | --- | ||
22 | drivers/net/wireless/iwlwifi/iwl-trans-pcie.c | 6 ++++++ | ||
23 | 1 file changed, 6 insertions(+) | ||
24 | |||
25 | diff --git a/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c b/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c | ||
26 | index 5815cf5..4661a64 100644 | ||
27 | --- a/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c | ||
28 | +++ b/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c | ||
29 | @@ -1777,6 +1777,7 @@ static ssize_t iwl_dbgfs_rx_queue_read(struct file *file, | ||
30 | return simple_read_from_buffer(user_buf, count, ppos, buf, pos); | ||
31 | } | ||
32 | |||
33 | +#ifdef CONFIG_IWLWIFI_DEBUG | ||
34 | static ssize_t iwl_dbgfs_log_event_read(struct file *file, | ||
35 | char __user *user_buf, | ||
36 | size_t count, loff_t *ppos) | ||
37 | @@ -1814,6 +1815,7 @@ static ssize_t iwl_dbgfs_log_event_write(struct file *file, | ||
38 | |||
39 | return count; | ||
40 | } | ||
41 | +#endif | ||
42 | |||
43 | static ssize_t iwl_dbgfs_interrupt_read(struct file *file, | ||
44 | char __user *user_buf, | ||
45 | @@ -1941,7 +1943,9 @@ static ssize_t iwl_dbgfs_fh_reg_read(struct file *file, | ||
46 | return ret; | ||
47 | } | ||
48 | |||
49 | +#ifdef CONFIG_IWLWIFI_DEBUG | ||
50 | DEBUGFS_READ_WRITE_FILE_OPS(log_event); | ||
51 | +#endif | ||
52 | DEBUGFS_READ_WRITE_FILE_OPS(interrupt); | ||
53 | DEBUGFS_READ_FILE_OPS(fh_reg); | ||
54 | DEBUGFS_READ_FILE_OPS(rx_queue); | ||
55 | @@ -1957,7 +1961,9 @@ static int iwl_trans_pcie_dbgfs_register(struct iwl_trans *trans, | ||
56 | { | ||
57 | DEBUGFS_ADD_FILE(rx_queue, dir, S_IRUSR); | ||
58 | DEBUGFS_ADD_FILE(tx_queue, dir, S_IRUSR); | ||
59 | +#ifdef CONFIG_IWLWIFI_DEBUG | ||
60 | DEBUGFS_ADD_FILE(log_event, dir, S_IWUSR | S_IRUSR); | ||
61 | +#endif | ||
62 | DEBUGFS_ADD_FILE(interrupt, dir, S_IWUSR | S_IRUSR); | ||
63 | DEBUGFS_ADD_FILE(csr, dir, S_IWUSR); | ||
64 | DEBUGFS_ADD_FILE(fh_reg, dir, S_IRUSR); | ||
65 | -- | ||
66 | 1.7.10 | ||
67 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0030-ARM-SAMSUNG-Fix-for-S3C2412-EBI-memory-mapping.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0030-ARM-SAMSUNG-Fix-for-S3C2412-EBI-memory-mapping.patch new file mode 100644 index 00000000..4a91186b --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0030-ARM-SAMSUNG-Fix-for-S3C2412-EBI-memory-mapping.patch | |||
@@ -0,0 +1,36 @@ | |||
1 | From 4885fac40cf4f8adf4c6832d90b3b60c4ac44f19 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jose Miguel Goncalves <jose.goncalves@inov.pt> | ||
3 | Date: Sat, 12 May 2012 06:11:49 +0900 | ||
4 | Subject: [PATCH 30/46] ARM: SAMSUNG: Fix for S3C2412 EBI memory mapping | ||
5 | |||
6 | commit 3dca938656c7b0ff6b0717a5dde0f5f45e592be5 upstream. | ||
7 | |||
8 | While upgrading the kernel on a S3C2412 based board I've noted | ||
9 | that it was impossible to boot the board with a 2.6.32 or upper | ||
10 | kernel. I've tracked down the problem to the EBI virtual memory | ||
11 | mapping that is in conflict with the IO mapping definition in | ||
12 | arch/arm/mach-s3c24xx/s3c2412.c. | ||
13 | |||
14 | Signed-off-by: Jose Miguel Goncalves <jose.goncalves@inov.pt> | ||
15 | Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> | ||
16 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
17 | --- | ||
18 | arch/arm/plat-samsung/include/plat/map-s3c.h | 2 +- | ||
19 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
20 | |||
21 | diff --git a/arch/arm/plat-samsung/include/plat/map-s3c.h b/arch/arm/plat-samsung/include/plat/map-s3c.h | ||
22 | index 7d04875..c0c70a8 100644 | ||
23 | --- a/arch/arm/plat-samsung/include/plat/map-s3c.h | ||
24 | +++ b/arch/arm/plat-samsung/include/plat/map-s3c.h | ||
25 | @@ -22,7 +22,7 @@ | ||
26 | #define S3C24XX_VA_WATCHDOG S3C_VA_WATCHDOG | ||
27 | |||
28 | #define S3C2412_VA_SSMC S3C_ADDR_CPU(0x00000000) | ||
29 | -#define S3C2412_VA_EBI S3C_ADDR_CPU(0x00010000) | ||
30 | +#define S3C2412_VA_EBI S3C_ADDR_CPU(0x00100000) | ||
31 | |||
32 | #define S3C2410_PA_UART (0x50000000) | ||
33 | #define S3C24XX_PA_UART S3C2410_PA_UART | ||
34 | -- | ||
35 | 1.7.10 | ||
36 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0031-USB-option-add-id-for-Cellient-MEN-200.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0031-USB-option-add-id-for-Cellient-MEN-200.patch new file mode 100644 index 00000000..d41471fd --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0031-USB-option-add-id-for-Cellient-MEN-200.patch | |||
@@ -0,0 +1,44 @@ | |||
1 | From 8ca01cdb21b1e0daed013a4536ca89543f844424 Mon Sep 17 00:00:00 2001 | ||
2 | From: Dmitry Shmygov <shmygov@rambler.ru> | ||
3 | Date: Wed, 20 Jun 2012 15:51:40 +0400 | ||
4 | Subject: [PATCH 31/46] USB: option: add id for Cellient MEN-200 | ||
5 | |||
6 | commit 1e2c4e59d2b8797973471b4a287a43eac12a0f40 upstream. | ||
7 | |||
8 | Add vendor and product ID to option.c driver | ||
9 | for Cellient MEN-200 EVDO Rev.B 450MHz data module. | ||
10 | http://cellient.com | ||
11 | |||
12 | Signed-off-by: Dmitry Shmygov <shmygov@rambler.ru> | ||
13 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | ||
14 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
15 | --- | ||
16 | drivers/usb/serial/option.c | 5 +++++ | ||
17 | 1 file changed, 5 insertions(+) | ||
18 | |||
19 | diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c | ||
20 | index 61d6c31..e311711c 100644 | ||
21 | --- a/drivers/usb/serial/option.c | ||
22 | +++ b/drivers/usb/serial/option.c | ||
23 | @@ -496,6 +496,10 @@ static void option_instat_callback(struct urb *urb); | ||
24 | /* MediaTek products */ | ||
25 | #define MEDIATEK_VENDOR_ID 0x0e8d | ||
26 | |||
27 | +/* Cellient products */ | ||
28 | +#define CELLIENT_VENDOR_ID 0x2692 | ||
29 | +#define CELLIENT_PRODUCT_MEN200 0x9005 | ||
30 | + | ||
31 | /* some devices interfaces need special handling due to a number of reasons */ | ||
32 | enum option_blacklist_reason { | ||
33 | OPTION_BLACKLIST_NONE = 0, | ||
34 | @@ -1227,6 +1231,7 @@ static const struct usb_device_id option_ids[] = { | ||
35 | { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, 0x00a1, 0xff, 0x02, 0x01) }, | ||
36 | { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, 0x00a2, 0xff, 0x00, 0x00) }, | ||
37 | { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, 0x00a2, 0xff, 0x02, 0x01) }, /* MediaTek MT6276M modem & app port */ | ||
38 | + { USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MEN200) }, | ||
39 | { } /* Terminating entry */ | ||
40 | }; | ||
41 | MODULE_DEVICE_TABLE(usb, option_ids); | ||
42 | -- | ||
43 | 1.7.10 | ||
44 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0032-oprofile-perf-use-NR_CPUS-instead-or-nr_cpumask_bits.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0032-oprofile-perf-use-NR_CPUS-instead-or-nr_cpumask_bits.patch new file mode 100644 index 00000000..e2c5be82 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0032-oprofile-perf-use-NR_CPUS-instead-or-nr_cpumask_bits.patch | |||
@@ -0,0 +1,44 @@ | |||
1 | From fa7b3de0ebfa0cd8a833ea2daa5ded5ea50fd085 Mon Sep 17 00:00:00 2001 | ||
2 | From: Will Deacon <will.deacon@arm.com> | ||
3 | Date: Fri, 8 Jun 2012 16:16:04 +0100 | ||
4 | Subject: [PATCH 32/46] oprofile: perf: use NR_CPUS instead or nr_cpumask_bits | ||
5 | for static array | ||
6 | |||
7 | commit e734568b675c985db2026848fefaac01c22977a5 upstream. | ||
8 | |||
9 | The OProfile perf backend uses a static array to keep track of the | ||
10 | perf events on the system. When compiling with CONFIG_CPUMASK_OFFSTACK=y | ||
11 | && SMP, nr_cpumask_bits is not a compile-time constant and the build | ||
12 | will fail with: | ||
13 | |||
14 | oprofile_perf.c:28: error: variably modified 'perf_events' at file scope | ||
15 | |||
16 | This patch uses NR_CPUs instead of nr_cpumask_bits for the array | ||
17 | initialisation. If this causes space problems in the future, we can | ||
18 | always move to dynamic allocation for the events array. | ||
19 | |||
20 | Cc: Matt Fleming <matt@console-pimps.org> | ||
21 | Reported-by: Russell King - ARM Linux <linux@arm.linux.org.uk> | ||
22 | Signed-off-by: Will Deacon <will.deacon@arm.com> | ||
23 | Signed-off-by: Robert Richter <robert.richter@amd.com> | ||
24 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
25 | --- | ||
26 | drivers/oprofile/oprofile_perf.c | 2 +- | ||
27 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
28 | |||
29 | diff --git a/drivers/oprofile/oprofile_perf.c b/drivers/oprofile/oprofile_perf.c | ||
30 | index da14432..efc4b7f 100644 | ||
31 | --- a/drivers/oprofile/oprofile_perf.c | ||
32 | +++ b/drivers/oprofile/oprofile_perf.c | ||
33 | @@ -25,7 +25,7 @@ static int oprofile_perf_enabled; | ||
34 | static DEFINE_MUTEX(oprofile_perf_mutex); | ||
35 | |||
36 | static struct op_counter_config *counter_config; | ||
37 | -static struct perf_event **perf_events[nr_cpumask_bits]; | ||
38 | +static struct perf_event **perf_events[NR_CPUS]; | ||
39 | static int num_counters; | ||
40 | |||
41 | /* | ||
42 | -- | ||
43 | 1.7.10 | ||
44 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0033-drm-i915-Refactor-the-deferred-PM_IIR-handling-into-.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0033-drm-i915-Refactor-the-deferred-PM_IIR-handling-into-.patch new file mode 100644 index 00000000..ac1efd7c --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0033-drm-i915-Refactor-the-deferred-PM_IIR-handling-into-.patch | |||
@@ -0,0 +1,107 @@ | |||
1 | From 179d0e42c797861a350b6f72e534edad4dac0f65 Mon Sep 17 00:00:00 2001 | ||
2 | From: Chris Wilson <chris@chris-wilson.co.uk> | ||
3 | Date: Sun, 15 Apr 2012 11:56:03 +0100 | ||
4 | Subject: [PATCH 33/46] drm/i915: Refactor the deferred PM_IIR handling into a | ||
5 | single function | ||
6 | |||
7 | commit fc6826d1dcd65f3d1e9a5377678882e4e08f02be upstream. | ||
8 | |||
9 | This function, along with the registers and deferred work hander, are | ||
10 | all shared with SandyBridge, IvyBridge and their variants. So remove the | ||
11 | duplicate code into a single function. | ||
12 | |||
13 | Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> | ||
14 | Reviewed-by: Ben Widawsky <ben@bwidawsk.net> | ||
15 | Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch> | ||
16 | [bwh: Backported to 3.2: adjust context; drop changes for Valley View] | ||
17 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
18 | --- | ||
19 | drivers/gpu/drm/i915/i915_irq.c | 58 +++++++++++++++++++-------------------- | ||
20 | 1 file changed, 29 insertions(+), 29 deletions(-) | ||
21 | |||
22 | diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c | ||
23 | index d3820c2..17c335e 100644 | ||
24 | --- a/drivers/gpu/drm/i915/i915_irq.c | ||
25 | +++ b/drivers/gpu/drm/i915/i915_irq.c | ||
26 | @@ -424,6 +424,31 @@ static void gen6_pm_rps_work(struct work_struct *work) | ||
27 | mutex_unlock(&dev_priv->dev->struct_mutex); | ||
28 | } | ||
29 | |||
30 | +static void gen6_queue_rps_work(struct drm_i915_private *dev_priv, | ||
31 | + u32 pm_iir) | ||
32 | +{ | ||
33 | + unsigned long flags; | ||
34 | + | ||
35 | + /* | ||
36 | + * IIR bits should never already be set because IMR should | ||
37 | + * prevent an interrupt from being shown in IIR. The warning | ||
38 | + * displays a case where we've unsafely cleared | ||
39 | + * dev_priv->pm_iir. Although missing an interrupt of the same | ||
40 | + * type is not a problem, it displays a problem in the logic. | ||
41 | + * | ||
42 | + * The mask bit in IMR is cleared by rps_work. | ||
43 | + */ | ||
44 | + | ||
45 | + spin_lock_irqsave(&dev_priv->rps_lock, flags); | ||
46 | + WARN(dev_priv->pm_iir & pm_iir, "Missed a PM interrupt\n"); | ||
47 | + dev_priv->pm_iir |= pm_iir; | ||
48 | + I915_WRITE(GEN6_PMIMR, dev_priv->pm_iir); | ||
49 | + POSTING_READ(GEN6_PMIMR); | ||
50 | + spin_unlock_irqrestore(&dev_priv->rps_lock, flags); | ||
51 | + | ||
52 | + queue_work(dev_priv->wq, &dev_priv->rps_work); | ||
53 | +} | ||
54 | + | ||
55 | static void pch_irq_handler(struct drm_device *dev, u32 pch_iir) | ||
56 | { | ||
57 | drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; | ||
58 | @@ -529,16 +554,8 @@ static irqreturn_t ivybridge_irq_handler(DRM_IRQ_ARGS) | ||
59 | pch_irq_handler(dev, pch_iir); | ||
60 | } | ||
61 | |||
62 | - if (pm_iir & GEN6_PM_DEFERRED_EVENTS) { | ||
63 | - unsigned long flags; | ||
64 | - spin_lock_irqsave(&dev_priv->rps_lock, flags); | ||
65 | - WARN(dev_priv->pm_iir & pm_iir, "Missed a PM interrupt\n"); | ||
66 | - dev_priv->pm_iir |= pm_iir; | ||
67 | - I915_WRITE(GEN6_PMIMR, dev_priv->pm_iir); | ||
68 | - POSTING_READ(GEN6_PMIMR); | ||
69 | - spin_unlock_irqrestore(&dev_priv->rps_lock, flags); | ||
70 | - queue_work(dev_priv->wq, &dev_priv->rps_work); | ||
71 | - } | ||
72 | + if (pm_iir & GEN6_PM_DEFERRED_EVENTS) | ||
73 | + gen6_queue_rps_work(dev_priv, pm_iir); | ||
74 | |||
75 | /* should clear PCH hotplug event before clear CPU irq */ | ||
76 | I915_WRITE(SDEIIR, pch_iir); | ||
77 | @@ -634,25 +651,8 @@ static irqreturn_t ironlake_irq_handler(DRM_IRQ_ARGS) | ||
78 | i915_handle_rps_change(dev); | ||
79 | } | ||
80 | |||
81 | - if (IS_GEN6(dev) && pm_iir & GEN6_PM_DEFERRED_EVENTS) { | ||
82 | - /* | ||
83 | - * IIR bits should never already be set because IMR should | ||
84 | - * prevent an interrupt from being shown in IIR. The warning | ||
85 | - * displays a case where we've unsafely cleared | ||
86 | - * dev_priv->pm_iir. Although missing an interrupt of the same | ||
87 | - * type is not a problem, it displays a problem in the logic. | ||
88 | - * | ||
89 | - * The mask bit in IMR is cleared by rps_work. | ||
90 | - */ | ||
91 | - unsigned long flags; | ||
92 | - spin_lock_irqsave(&dev_priv->rps_lock, flags); | ||
93 | - WARN(dev_priv->pm_iir & pm_iir, "Missed a PM interrupt\n"); | ||
94 | - dev_priv->pm_iir |= pm_iir; | ||
95 | - I915_WRITE(GEN6_PMIMR, dev_priv->pm_iir); | ||
96 | - POSTING_READ(GEN6_PMIMR); | ||
97 | - spin_unlock_irqrestore(&dev_priv->rps_lock, flags); | ||
98 | - queue_work(dev_priv->wq, &dev_priv->rps_work); | ||
99 | - } | ||
100 | + if (IS_GEN6(dev) && pm_iir & GEN6_PM_DEFERRED_EVENTS) | ||
101 | + gen6_queue_rps_work(dev_priv, pm_iir); | ||
102 | |||
103 | /* should clear PCH hotplug event before clear CPU irq */ | ||
104 | I915_WRITE(SDEIIR, pch_iir); | ||
105 | -- | ||
106 | 1.7.10 | ||
107 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0034-drm-i915-rip-out-the-PM_IIR-WARN.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0034-drm-i915-rip-out-the-PM_IIR-WARN.patch new file mode 100644 index 00000000..bd34e073 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0034-drm-i915-rip-out-the-PM_IIR-WARN.patch | |||
@@ -0,0 +1,60 @@ | |||
1 | From a01c3081fec2775e6ed17963f2f70ea67d5e6401 Mon Sep 17 00:00:00 2001 | ||
2 | From: Daniel Vetter <daniel.vetter@ffwll.ch> | ||
3 | Date: Thu, 21 Jun 2012 14:55:22 +0200 | ||
4 | Subject: [PATCH 34/46] drm/i915: rip out the PM_IIR WARN | ||
5 | |||
6 | commit 58bf8062d0b293b8e1028e5b0342082002886bd4 upstream. | ||
7 | |||
8 | After banging my head against this for the past few months, I still | ||
9 | don't see how this could possible race under the premise that once an | ||
10 | irq bit is masked in PM_IMR and reset in PM_IIR it won't show up again | ||
11 | until we unmask it in PM_IMR. | ||
12 | |||
13 | Still, we have reports of this being seen in the wild. Now Bspec has | ||
14 | this little bit of lovely language in the PMIIR register: | ||
15 | |||
16 | Public SNB Docs, Vol3Part2, 2.5.14 "PMIIR": | ||
17 | |||
18 | "For each bit, the IIR can store a second pending interrupt if two or | ||
19 | more of the same interrupt conditions occur before the first condition | ||
20 | is cleared. Upon clearing the interrupt, the IIR bit will momentarily | ||
21 | go low, then return high to indicate there is another interrupt | ||
22 | pending." | ||
23 | |||
24 | Now if we presume that PMIMR only prevent new interrupts from being | ||
25 | queued, we could easily end up masking an interrupt and clearing it, | ||
26 | but the 2nd pending interrupt setting the bit in PMIIR right away | ||
27 | again. Which leads, the next time the irq handler runs, to hitting the | ||
28 | WARN. | ||
29 | |||
30 | Also, no bad side effects of this have ever been reported. And we've | ||
31 | tracked down our issues with the gpu turbo getting stuck to bogus | ||
32 | interrupt generation limits in th RPLIMIT register. | ||
33 | |||
34 | So let's just rip out this WARN as bogus and call it a day. The only | ||
35 | shallow thing here is that this 2-deep irq queue in the hw makes you | ||
36 | wonder how racy the windows irq handler is ... | ||
37 | |||
38 | Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42907 | ||
39 | Acked-by: Chris Wilson <chris@chris-wilson.co.uk> | ||
40 | Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch> | ||
41 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
42 | --- | ||
43 | drivers/gpu/drm/i915/i915_irq.c | 1 - | ||
44 | 1 file changed, 1 deletion(-) | ||
45 | |||
46 | diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c | ||
47 | index 17c335e..578ddfc 100644 | ||
48 | --- a/drivers/gpu/drm/i915/i915_irq.c | ||
49 | +++ b/drivers/gpu/drm/i915/i915_irq.c | ||
50 | @@ -440,7 +440,6 @@ static void gen6_queue_rps_work(struct drm_i915_private *dev_priv, | ||
51 | */ | ||
52 | |||
53 | spin_lock_irqsave(&dev_priv->rps_lock, flags); | ||
54 | - WARN(dev_priv->pm_iir & pm_iir, "Missed a PM interrupt\n"); | ||
55 | dev_priv->pm_iir |= pm_iir; | ||
56 | I915_WRITE(GEN6_PMIMR, dev_priv->pm_iir); | ||
57 | POSTING_READ(GEN6_PMIMR); | ||
58 | -- | ||
59 | 1.7.10 | ||
60 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0035-drm-i915-Fix-eDP-blank-screen-after-S3-resume-on-HP-.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0035-drm-i915-Fix-eDP-blank-screen-after-S3-resume-on-HP-.patch new file mode 100644 index 00000000..7f6394cd --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0035-drm-i915-Fix-eDP-blank-screen-after-S3-resume-on-HP-.patch | |||
@@ -0,0 +1,46 @@ | |||
1 | From e083a17405e8771aaa8853534c66721aa5aa36ea Mon Sep 17 00:00:00 2001 | ||
2 | From: Takashi Iwai <tiwai@suse.de> | ||
3 | Date: Thu, 21 Jun 2012 15:30:41 +0200 | ||
4 | Subject: [PATCH 35/46] drm/i915: Fix eDP blank screen after S3 resume on HP | ||
5 | desktops | ||
6 | |||
7 | commit 6db65cbb941f9d433659bdad02b307f6d94465df upstream. | ||
8 | |||
9 | This patch fixes the problem on some HP desktop machines with eDP | ||
10 | which give blank screens after S3 resume. | ||
11 | |||
12 | It turned out that BLC_PWM_CPU_CTL must be written after | ||
13 | BLC_PWM_CPU_CTL2. Otherwise it doesn't take effect on these | ||
14 | SNB machines. | ||
15 | |||
16 | Tested with 3.5-rc3 kernel. | ||
17 | |||
18 | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=49233 | ||
19 | |||
20 | Signed-off-by: Takashi Iwai <tiwai@suse.de> | ||
21 | Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> | ||
22 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
23 | --- | ||
24 | drivers/gpu/drm/i915/i915_suspend.c | 5 ++++- | ||
25 | 1 file changed, 4 insertions(+), 1 deletion(-) | ||
26 | |||
27 | diff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.c | ||
28 | index a1eb83d..f38d196 100644 | ||
29 | --- a/drivers/gpu/drm/i915/i915_suspend.c | ||
30 | +++ b/drivers/gpu/drm/i915/i915_suspend.c | ||
31 | @@ -739,8 +739,11 @@ static void i915_restore_display(struct drm_device *dev) | ||
32 | if (HAS_PCH_SPLIT(dev)) { | ||
33 | I915_WRITE(BLC_PWM_PCH_CTL1, dev_priv->saveBLC_PWM_CTL); | ||
34 | I915_WRITE(BLC_PWM_PCH_CTL2, dev_priv->saveBLC_PWM_CTL2); | ||
35 | - I915_WRITE(BLC_PWM_CPU_CTL, dev_priv->saveBLC_CPU_PWM_CTL); | ||
36 | + /* NOTE: BLC_PWM_CPU_CTL must be written after BLC_PWM_CPU_CTL2; | ||
37 | + * otherwise we get blank eDP screen after S3 on some machines | ||
38 | + */ | ||
39 | I915_WRITE(BLC_PWM_CPU_CTL2, dev_priv->saveBLC_CPU_PWM_CTL2); | ||
40 | + I915_WRITE(BLC_PWM_CPU_CTL, dev_priv->saveBLC_CPU_PWM_CTL); | ||
41 | I915_WRITE(PCH_PP_ON_DELAYS, dev_priv->savePP_ON_DELAYS); | ||
42 | I915_WRITE(PCH_PP_OFF_DELAYS, dev_priv->savePP_OFF_DELAYS); | ||
43 | I915_WRITE(PCH_PP_DIVISOR, dev_priv->savePP_DIVISOR); | ||
44 | -- | ||
45 | 1.7.10 | ||
46 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0036-PM-Sleep-Prevent-waiting-forever-on-asynchronous-sus.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0036-PM-Sleep-Prevent-waiting-forever-on-asynchronous-sus.patch new file mode 100644 index 00000000..0426542c --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0036-PM-Sleep-Prevent-waiting-forever-on-asynchronous-sus.patch | |||
@@ -0,0 +1,62 @@ | |||
1 | From 148576d5144418385e4a0d59c5c9547d662ae0f2 Mon Sep 17 00:00:00 2001 | ||
2 | From: Mandeep Singh Baines <msb@chromium.org> | ||
3 | Date: Sun, 24 Jun 2012 23:31:09 +0200 | ||
4 | Subject: [PATCH 36/46] PM / Sleep: Prevent waiting forever on asynchronous | ||
5 | suspend after abort | ||
6 | |||
7 | commit 1f758b23177d588a71b96ad02990e715949bb82f upstream. | ||
8 | |||
9 | __device_suspend() must always send a completion. Otherwise, parent | ||
10 | devices will wait forever. | ||
11 | |||
12 | Commit 1e2ef05b, "PM: Limit race conditions between runtime PM and | ||
13 | system sleep (v2)", introduced a regression by short-circuiting the | ||
14 | complete_all() for certain error cases. | ||
15 | |||
16 | This patch fixes the bug by always signalling a completion. | ||
17 | |||
18 | Addresses http://crosbug.com/31972 | ||
19 | |||
20 | Tested by injecting an abort. | ||
21 | |||
22 | Signed-off-by: Mandeep Singh Baines <msb@chromium.org> | ||
23 | Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> | ||
24 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
25 | --- | ||
26 | drivers/base/power/main.c | 6 ++++-- | ||
27 | 1 file changed, 4 insertions(+), 2 deletions(-) | ||
28 | |||
29 | diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c | ||
30 | index c3d2dfc..b96544a 100644 | ||
31 | --- a/drivers/base/power/main.c | ||
32 | +++ b/drivers/base/power/main.c | ||
33 | @@ -869,7 +869,7 @@ static int __device_suspend(struct device *dev, pm_message_t state, bool async) | ||
34 | dpm_wait_for_children(dev, async); | ||
35 | |||
36 | if (async_error) | ||
37 | - return 0; | ||
38 | + goto Complete; | ||
39 | |||
40 | pm_runtime_get_noresume(dev); | ||
41 | if (pm_runtime_barrier(dev) && device_may_wakeup(dev)) | ||
42 | @@ -878,7 +878,7 @@ static int __device_suspend(struct device *dev, pm_message_t state, bool async) | ||
43 | if (pm_wakeup_pending()) { | ||
44 | pm_runtime_put_sync(dev); | ||
45 | async_error = -EBUSY; | ||
46 | - return 0; | ||
47 | + goto Complete; | ||
48 | } | ||
49 | |||
50 | device_lock(dev); | ||
51 | @@ -926,6 +926,8 @@ static int __device_suspend(struct device *dev, pm_message_t state, bool async) | ||
52 | } | ||
53 | |||
54 | device_unlock(dev); | ||
55 | + | ||
56 | + Complete: | ||
57 | complete_all(&dev->power.completion); | ||
58 | |||
59 | if (error) { | ||
60 | -- | ||
61 | 1.7.10 | ||
62 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0037-x86-cpufeature-Rename-X86_FEATURE_DTS-to-X86_FEATURE.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0037-x86-cpufeature-Rename-X86_FEATURE_DTS-to-X86_FEATURE.patch new file mode 100644 index 00000000..c536a733 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0037-x86-cpufeature-Rename-X86_FEATURE_DTS-to-X86_FEATURE.patch | |||
@@ -0,0 +1,73 @@ | |||
1 | From edb1135bf688ed567d95e964af22488274890640 Mon Sep 17 00:00:00 2001 | ||
2 | From: "H. Peter Anvin" <hpa@linux.intel.com> | ||
3 | Date: Fri, 22 Jun 2012 10:58:06 -0700 | ||
4 | Subject: [PATCH 37/46] x86, cpufeature: Rename X86_FEATURE_DTS to | ||
5 | X86_FEATURE_DTHERM | ||
6 | |||
7 | commit 4ad33411308596f2f918603509729922a1ec4411 upstream. | ||
8 | |||
9 | It makes sense to label "Digital Thermal Sensor" as "DTS", but | ||
10 | unfortunately the string "dts" was already used for "Debug Store", and | ||
11 | /proc/cpuinfo is a user space ABI. | ||
12 | |||
13 | Therefore, rename this to "dtherm". | ||
14 | |||
15 | This conflict went into mainline via the hwmon tree without any x86 | ||
16 | maintainer ack, and without any kind of hint in the subject. | ||
17 | |||
18 | a4659053 x86/hwmon: fix initialization of coretemp | ||
19 | |||
20 | Reported-by: Jean Delvare <khali@linux-fr.org> | ||
21 | Link: http://lkml.kernel.org/r/4FE34BCB.5050305@linux.intel.com | ||
22 | Cc: Jan Beulich <JBeulich@suse.com> | ||
23 | Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> | ||
24 | [bwh: Backported to 3.2: drop the coretemp device table change] | ||
25 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
26 | --- | ||
27 | arch/x86/include/asm/cpufeature.h | 2 +- | ||
28 | arch/x86/kernel/cpu/scattered.c | 2 +- | ||
29 | drivers/hwmon/coretemp.c | 2 +- | ||
30 | 3 files changed, 3 insertions(+), 3 deletions(-) | ||
31 | |||
32 | diff --git a/arch/x86/include/asm/cpufeature.h b/arch/x86/include/asm/cpufeature.h | ||
33 | index f3444f7..0c3b775 100644 | ||
34 | --- a/arch/x86/include/asm/cpufeature.h | ||
35 | +++ b/arch/x86/include/asm/cpufeature.h | ||
36 | @@ -175,7 +175,7 @@ | ||
37 | #define X86_FEATURE_XSAVEOPT (7*32+ 4) /* Optimized Xsave */ | ||
38 | #define X86_FEATURE_PLN (7*32+ 5) /* Intel Power Limit Notification */ | ||
39 | #define X86_FEATURE_PTS (7*32+ 6) /* Intel Package Thermal Status */ | ||
40 | -#define X86_FEATURE_DTS (7*32+ 7) /* Digital Thermal Sensor */ | ||
41 | +#define X86_FEATURE_DTHERM (7*32+ 7) /* Digital Thermal Sensor */ | ||
42 | |||
43 | /* Virtualization flags: Linux defined, word 8 */ | ||
44 | #define X86_FEATURE_TPR_SHADOW (8*32+ 0) /* Intel TPR Shadow */ | ||
45 | diff --git a/arch/x86/kernel/cpu/scattered.c b/arch/x86/kernel/cpu/scattered.c | ||
46 | index c7f64e6..ea6106c 100644 | ||
47 | --- a/arch/x86/kernel/cpu/scattered.c | ||
48 | +++ b/arch/x86/kernel/cpu/scattered.c | ||
49 | @@ -31,7 +31,7 @@ void __cpuinit init_scattered_cpuid_features(struct cpuinfo_x86 *c) | ||
50 | const struct cpuid_bit *cb; | ||
51 | |||
52 | static const struct cpuid_bit __cpuinitconst cpuid_bits[] = { | ||
53 | - { X86_FEATURE_DTS, CR_EAX, 0, 0x00000006, 0 }, | ||
54 | + { X86_FEATURE_DTHERM, CR_EAX, 0, 0x00000006, 0 }, | ||
55 | { X86_FEATURE_IDA, CR_EAX, 1, 0x00000006, 0 }, | ||
56 | { X86_FEATURE_ARAT, CR_EAX, 2, 0x00000006, 0 }, | ||
57 | { X86_FEATURE_PLN, CR_EAX, 4, 0x00000006, 0 }, | ||
58 | diff --git a/drivers/hwmon/coretemp.c b/drivers/hwmon/coretemp.c | ||
59 | index 427468f..0790c98 100644 | ||
60 | --- a/drivers/hwmon/coretemp.c | ||
61 | +++ b/drivers/hwmon/coretemp.c | ||
62 | @@ -660,7 +660,7 @@ static void __cpuinit get_core_online(unsigned int cpu) | ||
63 | * sensors. We check this bit only, all the early CPUs | ||
64 | * without thermal sensors will be filtered out. | ||
65 | */ | ||
66 | - if (!cpu_has(c, X86_FEATURE_DTS)) | ||
67 | + if (!cpu_has(c, X86_FEATURE_DTHERM)) | ||
68 | return; | ||
69 | |||
70 | if (!pdev) { | ||
71 | -- | ||
72 | 1.7.10 | ||
73 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0038-stable-Allow-merging-of-backports-for-serious-user-v.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0038-stable-Allow-merging-of-backports-for-serious-user-v.patch new file mode 100644 index 00000000..37925c61 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0038-stable-Allow-merging-of-backports-for-serious-user-v.patch | |||
@@ -0,0 +1,51 @@ | |||
1 | From 2bbcf955f97142e2b38c1da222da381d3729beb9 Mon Sep 17 00:00:00 2001 | ||
2 | From: Mel Gorman <mgorman@suse.de> | ||
3 | Date: Thu, 21 Jun 2012 11:36:50 +0100 | ||
4 | Subject: [PATCH 38/46] stable: Allow merging of backports for serious | ||
5 | user-visible performance issues | ||
6 | |||
7 | commit eb3979f64d25120d60b9e761a4c58f70b1a02f86 upstream. | ||
8 | |||
9 | Distribution kernel maintainers routinely backport fixes for users that | ||
10 | were deemed important but not "something critical" as defined by the | ||
11 | rules. To users of these kernels they are very serious and failing to fix | ||
12 | them reduces the value of -stable. | ||
13 | |||
14 | The problem is that the patches fixing these issues are often subtle and | ||
15 | prone to regressions in other ways and need greater care and attention. | ||
16 | To combat this, these "serious" backports should have a higher barrier | ||
17 | to entry. | ||
18 | |||
19 | This patch relaxes the rules to allow a distribution maintainer to merge | ||
20 | to -stable a backported patch or small series that fixes a "serious" | ||
21 | user-visible performance issue. They should include additional information on | ||
22 | the user-visible bug affected and a link to the bugzilla entry if available. | ||
23 | The same rules about the patch being already in mainline still apply. | ||
24 | |||
25 | Signed-off-by: Mel Gorman <mgorman@suse.de> | ||
26 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | ||
27 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
28 | --- | ||
29 | Documentation/stable_kernel_rules.txt | 6 ++++++ | ||
30 | 1 file changed, 6 insertions(+) | ||
31 | |||
32 | diff --git a/Documentation/stable_kernel_rules.txt b/Documentation/stable_kernel_rules.txt | ||
33 | index 21fd05c..e1f856b 100644 | ||
34 | --- a/Documentation/stable_kernel_rules.txt | ||
35 | +++ b/Documentation/stable_kernel_rules.txt | ||
36 | @@ -12,6 +12,12 @@ Rules on what kind of patches are accepted, and which ones are not, into the | ||
37 | marked CONFIG_BROKEN), an oops, a hang, data corruption, a real | ||
38 | security issue, or some "oh, that's not good" issue. In short, something | ||
39 | critical. | ||
40 | + - Serious issues as reported by a user of a distribution kernel may also | ||
41 | + be considered if they fix a notable performance or interactivity issue. | ||
42 | + As these fixes are not as obvious and have a higher risk of a subtle | ||
43 | + regression they should only be submitted by a distribution kernel | ||
44 | + maintainer and include an addendum linking to a bugzilla entry if it | ||
45 | + exists and additional information on the user-visible impact. | ||
46 | - New device IDs and quirks are also accepted. | ||
47 | - No "theoretical race condition" issues, unless an explanation of how the | ||
48 | race can be exploited is also provided. | ||
49 | -- | ||
50 | 1.7.10 | ||
51 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0039-ALSA-hda-Add-Realtek-ALC280-codec-support.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0039-ALSA-hda-Add-Realtek-ALC280-codec-support.patch new file mode 100644 index 00000000..a7843760 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0039-ALSA-hda-Add-Realtek-ALC280-codec-support.patch | |||
@@ -0,0 +1,34 @@ | |||
1 | From 0aab048a80bd01c77244fa5d7e714a1174401ab1 Mon Sep 17 00:00:00 2001 | ||
2 | From: David Henningsson <david.henningsson@canonical.com> | ||
3 | Date: Mon, 25 Jun 2012 19:49:28 +0200 | ||
4 | Subject: [PATCH 39/46] ALSA: hda - Add Realtek ALC280 codec support | ||
5 | |||
6 | commit befae82e2906cb7155020876a531b0b8c6c8d8c8 upstream. | ||
7 | |||
8 | This chip looks very similar to ALC269 and ALC27* variants. The bug reporter | ||
9 | has verified that sound was working after this patch had been applied. | ||
10 | |||
11 | BugLink: https://bugs.launchpad.net/bugs/1017017 | ||
12 | Tested-by: Richard Crossley <richardcrossley@o2.co.uk> | ||
13 | Signed-off-by: David Henningsson <david.henningsson@canonical.com> | ||
14 | Signed-off-by: Takashi Iwai <tiwai@suse.de> | ||
15 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
16 | --- | ||
17 | sound/pci/hda/patch_realtek.c | 1 + | ||
18 | 1 file changed, 1 insertion(+) | ||
19 | |||
20 | diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c | ||
21 | index 0005bde..5f096a5 100644 | ||
22 | --- a/sound/pci/hda/patch_realtek.c | ||
23 | +++ b/sound/pci/hda/patch_realtek.c | ||
24 | @@ -5988,6 +5988,7 @@ static const struct hda_codec_preset snd_hda_preset_realtek[] = { | ||
25 | { .id = 0x10ec0272, .name = "ALC272", .patch = patch_alc662 }, | ||
26 | { .id = 0x10ec0275, .name = "ALC275", .patch = patch_alc269 }, | ||
27 | { .id = 0x10ec0276, .name = "ALC276", .patch = patch_alc269 }, | ||
28 | + { .id = 0x10ec0280, .name = "ALC280", .patch = patch_alc269 }, | ||
29 | { .id = 0x10ec0861, .rev = 0x100340, .name = "ALC660", | ||
30 | .patch = patch_alc861 }, | ||
31 | { .id = 0x10ec0660, .name = "ALC660-VD", .patch = patch_alc861vd }, | ||
32 | -- | ||
33 | 1.7.10 | ||
34 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0040-USB-option-Add-USB-ID-for-Novatel-Ovation-MC551.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0040-USB-option-Add-USB-ID-for-Novatel-Ovation-MC551.patch new file mode 100644 index 00000000..4e011cdf --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0040-USB-option-Add-USB-ID-for-Novatel-Ovation-MC551.patch | |||
@@ -0,0 +1,41 @@ | |||
1 | From 2e5d03393a6928616737edfb24457da88d21102b Mon Sep 17 00:00:00 2001 | ||
2 | From: Forest Bond <forest.bond@rapidrollout.com> | ||
3 | Date: Fri, 22 Jun 2012 10:30:38 -0400 | ||
4 | Subject: [PATCH 40/46] USB: option: Add USB ID for Novatel Ovation MC551 | ||
5 | |||
6 | commit 065b07e7a14676f4138ce4619d229c0be5a74230 upstream. | ||
7 | |||
8 | This device is also known as the Verizon USB551L. | ||
9 | |||
10 | Signed-off-by: Forest Bond <forest.bond@rapidrollout.com> | ||
11 | Acked-by: Dan Williams <dcbw@redhat.com> | ||
12 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | ||
13 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
14 | --- | ||
15 | drivers/usb/serial/option.c | 3 +++ | ||
16 | 1 file changed, 3 insertions(+) | ||
17 | |||
18 | diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c | ||
19 | index e311711c..21a4734 100644 | ||
20 | --- a/drivers/usb/serial/option.c | ||
21 | +++ b/drivers/usb/serial/option.c | ||
22 | @@ -235,6 +235,7 @@ static void option_instat_callback(struct urb *urb); | ||
23 | #define NOVATELWIRELESS_PRODUCT_G1 0xA001 | ||
24 | #define NOVATELWIRELESS_PRODUCT_G1_M 0xA002 | ||
25 | #define NOVATELWIRELESS_PRODUCT_G2 0xA010 | ||
26 | +#define NOVATELWIRELESS_PRODUCT_MC551 0xB001 | ||
27 | |||
28 | /* AMOI PRODUCTS */ | ||
29 | #define AMOI_VENDOR_ID 0x1614 | ||
30 | @@ -734,6 +735,8 @@ static const struct usb_device_id option_ids[] = { | ||
31 | { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_G1) }, | ||
32 | { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_G1_M) }, | ||
33 | { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_G2) }, | ||
34 | + /* Novatel Ovation MC551 a.k.a. Verizon USB551L */ | ||
35 | + { USB_DEVICE_AND_INTERFACE_INFO(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_MC551, 0xff, 0xff, 0xff) }, | ||
36 | |||
37 | { USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_H01) }, | ||
38 | { USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_H01A) }, | ||
39 | -- | ||
40 | 1.7.10 | ||
41 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0041-USB-CP210x-Add-10-Device-IDs.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0041-USB-CP210x-Add-10-Device-IDs.patch new file mode 100644 index 00000000..f6509bf8 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0041-USB-CP210x-Add-10-Device-IDs.patch | |||
@@ -0,0 +1,61 @@ | |||
1 | From 88093f6173b2c203d31bf67ed055419f5ec21953 Mon Sep 17 00:00:00 2001 | ||
2 | From: Craig Shelley <craig@microtron.org.uk> | ||
3 | Date: Tue, 26 Jun 2012 23:20:04 +0100 | ||
4 | Subject: [PATCH 41/46] USB: CP210x Add 10 Device IDs | ||
5 | |||
6 | commit 3fcc8f96829776cf181918461923d1e3bbb831a2 upstream. | ||
7 | |||
8 | This patch adds 10 device IDs for CP210x based devices from the following manufacturers: | ||
9 | Timewave | ||
10 | Clipsal | ||
11 | Festo | ||
12 | Link Instruments | ||
13 | |||
14 | Signed-off-by: Craig Shelley <craig@microtron.org.uk> | ||
15 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | ||
16 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
17 | --- | ||
18 | drivers/usb/serial/cp210x.c | 11 +++++++++++ | ||
19 | 1 file changed, 11 insertions(+) | ||
20 | |||
21 | diff --git a/drivers/usb/serial/cp210x.c b/drivers/usb/serial/cp210x.c | ||
22 | index aa0c43f..35e6b5f 100644 | ||
23 | --- a/drivers/usb/serial/cp210x.c | ||
24 | +++ b/drivers/usb/serial/cp210x.c | ||
25 | @@ -93,6 +93,7 @@ static const struct usb_device_id id_table[] = { | ||
26 | { USB_DEVICE(0x10C4, 0x814B) }, /* West Mountain Radio RIGtalk */ | ||
27 | { USB_DEVICE(0x10C4, 0x8156) }, /* B&G H3000 link cable */ | ||
28 | { USB_DEVICE(0x10C4, 0x815E) }, /* Helicomm IP-Link 1220-DVM */ | ||
29 | + { USB_DEVICE(0x10C4, 0x815F) }, /* Timewave HamLinkUSB */ | ||
30 | { USB_DEVICE(0x10C4, 0x818B) }, /* AVIT Research USB to TTL */ | ||
31 | { USB_DEVICE(0x10C4, 0x819F) }, /* MJS USB Toslink Switcher */ | ||
32 | { USB_DEVICE(0x10C4, 0x81A6) }, /* ThinkOptics WavIt */ | ||
33 | @@ -134,7 +135,13 @@ static const struct usb_device_id id_table[] = { | ||
34 | { USB_DEVICE(0x10CE, 0xEA6A) }, /* Silicon Labs MobiData GPRS USB Modem 100EU */ | ||
35 | { USB_DEVICE(0x13AD, 0x9999) }, /* Baltech card reader */ | ||
36 | { USB_DEVICE(0x1555, 0x0004) }, /* Owen AC4 USB-RS485 Converter */ | ||
37 | + { USB_DEVICE(0x166A, 0x0201) }, /* Clipsal 5500PACA C-Bus Pascal Automation Controller */ | ||
38 | + { USB_DEVICE(0x166A, 0x0301) }, /* Clipsal 5800PC C-Bus Wireless PC Interface */ | ||
39 | { USB_DEVICE(0x166A, 0x0303) }, /* Clipsal 5500PCU C-Bus USB interface */ | ||
40 | + { USB_DEVICE(0x166A, 0x0304) }, /* Clipsal 5000CT2 C-Bus Black and White Touchscreen */ | ||
41 | + { USB_DEVICE(0x166A, 0x0305) }, /* Clipsal C-5000CT2 C-Bus Spectrum Colour Touchscreen */ | ||
42 | + { USB_DEVICE(0x166A, 0x0401) }, /* Clipsal L51xx C-Bus Architectural Dimmer */ | ||
43 | + { USB_DEVICE(0x166A, 0x0101) }, /* Clipsal 5560884 C-Bus Multi-room Audio Matrix Switcher */ | ||
44 | { USB_DEVICE(0x16D6, 0x0001) }, /* Jablotron serial interface */ | ||
45 | { USB_DEVICE(0x16DC, 0x0010) }, /* W-IE-NE-R Plein & Baus GmbH PL512 Power Supply */ | ||
46 | { USB_DEVICE(0x16DC, 0x0011) }, /* W-IE-NE-R Plein & Baus GmbH RCM Remote Control for MARATON Power Supply */ | ||
47 | @@ -146,7 +153,11 @@ static const struct usb_device_id id_table[] = { | ||
48 | { USB_DEVICE(0x1843, 0x0200) }, /* Vaisala USB Instrument Cable */ | ||
49 | { USB_DEVICE(0x18EF, 0xE00F) }, /* ELV USB-I2C-Interface */ | ||
50 | { USB_DEVICE(0x1BE3, 0x07A6) }, /* WAGO 750-923 USB Service Cable */ | ||
51 | + { USB_DEVICE(0x1E29, 0x0102) }, /* Festo CPX-USB */ | ||
52 | + { USB_DEVICE(0x1E29, 0x0501) }, /* Festo CMSP */ | ||
53 | { USB_DEVICE(0x3195, 0xF190) }, /* Link Instruments MSO-19 */ | ||
54 | + { USB_DEVICE(0x3195, 0xF280) }, /* Link Instruments MSO-28 */ | ||
55 | + { USB_DEVICE(0x3195, 0xF281) }, /* Link Instruments MSO-28 */ | ||
56 | { USB_DEVICE(0x413C, 0x9500) }, /* DW700 GPS USB interface */ | ||
57 | { } /* Terminating Entry */ | ||
58 | }; | ||
59 | -- | ||
60 | 1.7.10 | ||
61 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0042-xen-netfront-teardown-the-device-before-unregisterin.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0042-xen-netfront-teardown-the-device-before-unregisterin.patch new file mode 100644 index 00000000..5847cb6e --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0042-xen-netfront-teardown-the-device-before-unregisterin.patch | |||
@@ -0,0 +1,58 @@ | |||
1 | From 55cebafff1e8327fe9dfa3b66d6f70bf88138902 Mon Sep 17 00:00:00 2001 | ||
2 | From: Ian Campbell <Ian.Campbell@citrix.com> | ||
3 | Date: Mon, 25 Jun 2012 22:48:41 +0000 | ||
4 | Subject: [PATCH 42/46] xen/netfront: teardown the device before unregistering | ||
5 | it. | ||
6 | |||
7 | commit 6bc96d047fe32d76ef79f3195c52a542edf7c705 upstream. | ||
8 | |||
9 | Fixes: | ||
10 | [ 15.470311] WARNING: at /local/scratch/ianc/devel/kernels/linux/fs/sysfs/file.c:498 sysfs_attr_ns+0x95/0xa0() | ||
11 | [ 15.470326] sysfs: kobject eth0 without dirent | ||
12 | [ 15.470333] Modules linked in: | ||
13 | [ 15.470342] Pid: 12, comm: xenwatch Not tainted 3.4.0-x86_32p-xenU #93 | ||
14 | and | ||
15 | [ 9.150554] BUG: unable to handle kernel paging request at 2b359000 | ||
16 | [ 9.150577] IP: [<c1279561>] linkwatch_do_dev+0x81/0xc0 | ||
17 | [ 9.150592] *pdpt = 000000002c3c9027 *pde = 0000000000000000 | ||
18 | [ 9.150604] Oops: 0002 [#1] SMP | ||
19 | [ 9.150613] Modules linked in: | ||
20 | |||
21 | This is http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=675190 | ||
22 | |||
23 | Reported-by: George Shuklin <george.shuklin@gmail.com> | ||
24 | Signed-off-by: Ian Campbell <ian.campbell@citrix.com> | ||
25 | Tested-by: William Dauchy <wdauchy@gmail.com> | ||
26 | Cc: 675190@bugs.debian.org | ||
27 | Signed-off-by: David S. Miller <davem@davemloft.net> | ||
28 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
29 | --- | ||
30 | drivers/net/xen-netfront.c | 8 ++++---- | ||
31 | 1 file changed, 4 insertions(+), 4 deletions(-) | ||
32 | |||
33 | diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c | ||
34 | index 226faab..fc35308 100644 | ||
35 | --- a/drivers/net/xen-netfront.c | ||
36 | +++ b/drivers/net/xen-netfront.c | ||
37 | @@ -1922,14 +1922,14 @@ static int __devexit xennet_remove(struct xenbus_device *dev) | ||
38 | |||
39 | dev_dbg(&dev->dev, "%s\n", dev->nodename); | ||
40 | |||
41 | - unregister_netdev(info->netdev); | ||
42 | - | ||
43 | xennet_disconnect_backend(info); | ||
44 | |||
45 | - del_timer_sync(&info->rx_refill_timer); | ||
46 | - | ||
47 | xennet_sysfs_delif(info->netdev); | ||
48 | |||
49 | + unregister_netdev(info->netdev); | ||
50 | + | ||
51 | + del_timer_sync(&info->rx_refill_timer); | ||
52 | + | ||
53 | free_percpu(info->stats); | ||
54 | |||
55 | free_netdev(info->netdev); | ||
56 | -- | ||
57 | 1.7.10 | ||
58 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0043-can-flexcan-use-be32_to_cpup-to-handle-the-value-of-.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0043-can-flexcan-use-be32_to_cpup-to-handle-the-value-of-.patch new file mode 100644 index 00000000..fa007b38 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0043-can-flexcan-use-be32_to_cpup-to-handle-the-value-of-.patch | |||
@@ -0,0 +1,44 @@ | |||
1 | From 06f8253f22e3ba961cc490243917206e2a8a8502 Mon Sep 17 00:00:00 2001 | ||
2 | From: Hui Wang <jason77.wang@gmail.com> | ||
3 | Date: Wed, 27 Jun 2012 16:19:18 +0800 | ||
4 | Subject: [PATCH 43/46] can: flexcan: use be32_to_cpup to handle the value of | ||
5 | dt entry | ||
6 | |||
7 | commit 85f2f834e85517307f13e30e630a5fc86f757cb5 upstream. | ||
8 | |||
9 | The freescale arm i.MX series platform can support this driver, and | ||
10 | usually the arm cpu works in the little endian mode by default, while | ||
11 | device tree entry value is stored in big endian format, we should use | ||
12 | be32_to_cpup() to handle them, after modification, it can work well | ||
13 | both on the le cpu and be cpu. | ||
14 | |||
15 | Cc: Shawn Guo <shawn.guo@linaro.org> | ||
16 | Signed-off-by: Hui Wang <jason77.wang@gmail.com> | ||
17 | Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> | ||
18 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
19 | --- | ||
20 | drivers/net/can/flexcan.c | 4 ++-- | ||
21 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
22 | |||
23 | diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c | ||
24 | index e023379..e59d006 100644 | ||
25 | --- a/drivers/net/can/flexcan.c | ||
26 | +++ b/drivers/net/can/flexcan.c | ||
27 | @@ -933,12 +933,12 @@ static int __devinit flexcan_probe(struct platform_device *pdev) | ||
28 | u32 clock_freq = 0; | ||
29 | |||
30 | if (pdev->dev.of_node) { | ||
31 | - const u32 *clock_freq_p; | ||
32 | + const __be32 *clock_freq_p; | ||
33 | |||
34 | clock_freq_p = of_get_property(pdev->dev.of_node, | ||
35 | "clock-frequency", NULL); | ||
36 | if (clock_freq_p) | ||
37 | - clock_freq = *clock_freq_p; | ||
38 | + clock_freq = be32_to_cpup(clock_freq_p); | ||
39 | } | ||
40 | |||
41 | if (!clock_freq) { | ||
42 | -- | ||
43 | 1.7.10 | ||
44 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0044-acpi_pad-fix-power_saving-thread-deadlock.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0044-acpi_pad-fix-power_saving-thread-deadlock.patch new file mode 100644 index 00000000..fd063f1a --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0044-acpi_pad-fix-power_saving-thread-deadlock.patch | |||
@@ -0,0 +1,66 @@ | |||
1 | From 64a1cb8318eb947d5217e72c7b295a1bda892ecd Mon Sep 17 00:00:00 2001 | ||
2 | From: Stuart Hayes <Stuart_Hayes@Dell.com> | ||
3 | Date: Wed, 13 Jun 2012 16:10:45 -0500 | ||
4 | Subject: [PATCH 44/46] acpi_pad: fix power_saving thread deadlock | ||
5 | |||
6 | commit 5f1601261050251a5ca293378b492a69d590dacb upstream. | ||
7 | |||
8 | The acpi_pad driver can get stuck in destroy_power_saving_task() | ||
9 | waiting for kthread_stop() to stop a power_saving thread. The problem | ||
10 | is that the isolated_cpus_lock mutex is owned when | ||
11 | destroy_power_saving_task() calls kthread_stop(), which waits for a | ||
12 | power_saving thread to end, and the power_saving thread tries to | ||
13 | acquire the isolated_cpus_lock when it calls round_robin_cpu(). This | ||
14 | patch fixes the issue by making round_robin_cpu() use its own mutex. | ||
15 | |||
16 | https://bugzilla.kernel.org/show_bug.cgi?id=42981 | ||
17 | |||
18 | Signed-off-by: Stuart Hayes <Stuart_Hayes@Dell.com> | ||
19 | Signed-off-by: Len Brown <len.brown@intel.com> | ||
20 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
21 | --- | ||
22 | drivers/acpi/acpi_pad.c | 7 ++++--- | ||
23 | 1 file changed, 4 insertions(+), 3 deletions(-) | ||
24 | |||
25 | diff --git a/drivers/acpi/acpi_pad.c b/drivers/acpi/acpi_pad.c | ||
26 | index a43fa1a..1502c502 100644 | ||
27 | --- a/drivers/acpi/acpi_pad.c | ||
28 | +++ b/drivers/acpi/acpi_pad.c | ||
29 | @@ -36,6 +36,7 @@ | ||
30 | #define ACPI_PROCESSOR_AGGREGATOR_DEVICE_NAME "Processor Aggregator" | ||
31 | #define ACPI_PROCESSOR_AGGREGATOR_NOTIFY 0x80 | ||
32 | static DEFINE_MUTEX(isolated_cpus_lock); | ||
33 | +static DEFINE_MUTEX(round_robin_lock); | ||
34 | |||
35 | static unsigned long power_saving_mwait_eax; | ||
36 | |||
37 | @@ -107,7 +108,7 @@ static void round_robin_cpu(unsigned int tsk_index) | ||
38 | if (!alloc_cpumask_var(&tmp, GFP_KERNEL)) | ||
39 | return; | ||
40 | |||
41 | - mutex_lock(&isolated_cpus_lock); | ||
42 | + mutex_lock(&round_robin_lock); | ||
43 | cpumask_clear(tmp); | ||
44 | for_each_cpu(cpu, pad_busy_cpus) | ||
45 | cpumask_or(tmp, tmp, topology_thread_cpumask(cpu)); | ||
46 | @@ -116,7 +117,7 @@ static void round_robin_cpu(unsigned int tsk_index) | ||
47 | if (cpumask_empty(tmp)) | ||
48 | cpumask_andnot(tmp, cpu_online_mask, pad_busy_cpus); | ||
49 | if (cpumask_empty(tmp)) { | ||
50 | - mutex_unlock(&isolated_cpus_lock); | ||
51 | + mutex_unlock(&round_robin_lock); | ||
52 | return; | ||
53 | } | ||
54 | for_each_cpu(cpu, tmp) { | ||
55 | @@ -131,7 +132,7 @@ static void round_robin_cpu(unsigned int tsk_index) | ||
56 | tsk_in_cpu[tsk_index] = preferred_cpu; | ||
57 | cpumask_set_cpu(preferred_cpu, pad_busy_cpus); | ||
58 | cpu_weight[preferred_cpu]++; | ||
59 | - mutex_unlock(&isolated_cpus_lock); | ||
60 | + mutex_unlock(&round_robin_lock); | ||
61 | |||
62 | set_cpus_allowed_ptr(current, cpumask_of(preferred_cpu)); | ||
63 | } | ||
64 | -- | ||
65 | 1.7.10 | ||
66 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0045-batman-adv-only-drop-packets-of-known-wifi-clients.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0045-batman-adv-only-drop-packets-of-known-wifi-clients.patch new file mode 100644 index 00000000..ce2107d6 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0045-batman-adv-only-drop-packets-of-known-wifi-clients.patch | |||
@@ -0,0 +1,55 @@ | |||
1 | From b3f045e43695ea8ac7c43715d0c98d58d488683d Mon Sep 17 00:00:00 2001 | ||
2 | From: Marek Lindner <lindner_marek@yahoo.de> | ||
3 | Date: Wed, 20 Jun 2012 17:16:05 +0200 | ||
4 | Subject: [PATCH 45/46] batman-adv: only drop packets of known wifi clients | ||
5 | |||
6 | commit 5870adc68fc39d81089f1e80efdf64b97e5c37a1 upstream. | ||
7 | |||
8 | bug introduced with 59b699cdee039d75915c354da06937102d1f9a84 | ||
9 | |||
10 | If the source or destination mac address of an ethernet packet | ||
11 | could not be found in the translation table the packet was | ||
12 | dropped if AP isolation was turned on. This behavior would | ||
13 | make it impossible to send broadcast packets over the mesh as | ||
14 | the broadcast address will never enter the translation table. | ||
15 | |||
16 | Signed-off-by: Marek Lindner <lindner_marek@yahoo.de> | ||
17 | Acked-by: Antonio Quartulli <ordex@autistici.org> | ||
18 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
19 | --- | ||
20 | net/batman-adv/translation-table.c | 8 ++++---- | ||
21 | 1 file changed, 4 insertions(+), 4 deletions(-) | ||
22 | |||
23 | diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c | ||
24 | index 5f09a57..088af45 100644 | ||
25 | --- a/net/batman-adv/translation-table.c | ||
26 | +++ b/net/batman-adv/translation-table.c | ||
27 | @@ -1816,10 +1816,10 @@ bool is_ap_isolated(struct bat_priv *bat_priv, uint8_t *src, uint8_t *dst) | ||
28 | { | ||
29 | struct tt_local_entry *tt_local_entry = NULL; | ||
30 | struct tt_global_entry *tt_global_entry = NULL; | ||
31 | - bool ret = true; | ||
32 | + bool ret = false; | ||
33 | |||
34 | if (!atomic_read(&bat_priv->ap_isolation)) | ||
35 | - return false; | ||
36 | + goto out; | ||
37 | |||
38 | tt_local_entry = tt_local_hash_find(bat_priv, dst); | ||
39 | if (!tt_local_entry) | ||
40 | @@ -1829,10 +1829,10 @@ bool is_ap_isolated(struct bat_priv *bat_priv, uint8_t *src, uint8_t *dst) | ||
41 | if (!tt_global_entry) | ||
42 | goto out; | ||
43 | |||
44 | - if (_is_ap_isolated(tt_local_entry, tt_global_entry)) | ||
45 | + if (!_is_ap_isolated(tt_local_entry, tt_global_entry)) | ||
46 | goto out; | ||
47 | |||
48 | - ret = false; | ||
49 | + ret = true; | ||
50 | |||
51 | out: | ||
52 | if (tt_global_entry) | ||
53 | -- | ||
54 | 1.7.10 | ||
55 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0046-Linux-3.2.22.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0046-Linux-3.2.22.patch new file mode 100644 index 00000000..f96d4a60 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0046-Linux-3.2.22.patch | |||
@@ -0,0 +1,24 @@ | |||
1 | From 453efabb6ea10cbe4a726e9637b76991f39d3655 Mon Sep 17 00:00:00 2001 | ||
2 | From: Ben Hutchings <ben@decadent.org.uk> | ||
3 | Date: Wed, 4 Jul 2012 05:44:35 +0100 | ||
4 | Subject: [PATCH 46/46] Linux 3.2.22 | ||
5 | |||
6 | --- | ||
7 | Makefile | 2 +- | ||
8 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
9 | |||
10 | diff --git a/Makefile b/Makefile | ||
11 | index 7eb465e..9a7d921 100644 | ||
12 | --- a/Makefile | ||
13 | +++ b/Makefile | ||
14 | @@ -1,6 +1,6 @@ | ||
15 | VERSION = 3 | ||
16 | PATCHLEVEL = 2 | ||
17 | -SUBLEVEL = 21 | ||
18 | +SUBLEVEL = 22 | ||
19 | EXTRAVERSION = | ||
20 | NAME = Saber-toothed Squirrel | ||
21 | |||
22 | -- | ||
23 | 1.7.10 | ||
24 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0001-splice-fix-racy-pipe-buffers-uses.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0001-splice-fix-racy-pipe-buffers-uses.patch new file mode 100644 index 00000000..6441cc29 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0001-splice-fix-racy-pipe-buffers-uses.patch | |||
@@ -0,0 +1,298 @@ | |||
1 | From e02d361ade75d22d28ce36460954b4bc6439fc74 Mon Sep 17 00:00:00 2001 | ||
2 | From: Eric Dumazet <edumazet@google.com> | ||
3 | Date: Tue, 12 Jun 2012 15:24:40 +0200 | ||
4 | Subject: [PATCH 01/49] splice: fix racy pipe->buffers uses | ||
5 | |||
6 | commit 047fe3605235888f3ebcda0c728cb31937eadfe6 upstream. | ||
7 | |||
8 | Dave Jones reported a kernel BUG at mm/slub.c:3474! triggered | ||
9 | by splice_shrink_spd() called from vmsplice_to_pipe() | ||
10 | |||
11 | commit 35f3d14dbbc5 (pipe: add support for shrinking and growing pipes) | ||
12 | added capability to adjust pipe->buffers. | ||
13 | |||
14 | Problem is some paths don't hold pipe mutex and assume pipe->buffers | ||
15 | doesn't change for their duration. | ||
16 | |||
17 | Fix this by adding nr_pages_max field in struct splice_pipe_desc, and | ||
18 | use it in place of pipe->buffers where appropriate. | ||
19 | |||
20 | splice_shrink_spd() loses its struct pipe_inode_info argument. | ||
21 | |||
22 | Reported-by: Dave Jones <davej@redhat.com> | ||
23 | Signed-off-by: Eric Dumazet <edumazet@google.com> | ||
24 | Cc: Jens Axboe <axboe@kernel.dk> | ||
25 | Cc: Alexander Viro <viro@zeniv.linux.org.uk> | ||
26 | Cc: Tom Herbert <therbert@google.com> | ||
27 | Tested-by: Dave Jones <davej@redhat.com> | ||
28 | Signed-off-by: Jens Axboe <axboe@kernel.dk> | ||
29 | [bwh: Backported to 3.2: | ||
30 | - Adjust context in vmsplice_to_pipe() | ||
31 | - Update one more call to splice_shrink_spd(), from skb_splice_bits()] | ||
32 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
33 | --- | ||
34 | fs/splice.c | 35 ++++++++++++++++++++--------------- | ||
35 | include/linux/splice.h | 8 ++++---- | ||
36 | kernel/relay.c | 5 +++-- | ||
37 | kernel/trace/trace.c | 6 ++++-- | ||
38 | mm/shmem.c | 3 ++- | ||
39 | net/core/skbuff.c | 3 ++- | ||
40 | 6 files changed, 35 insertions(+), 25 deletions(-) | ||
41 | |||
42 | diff --git a/fs/splice.c b/fs/splice.c | ||
43 | index 6d0dfb8..014fcb4 100644 | ||
44 | --- a/fs/splice.c | ||
45 | +++ b/fs/splice.c | ||
46 | @@ -274,13 +274,16 @@ void spd_release_page(struct splice_pipe_desc *spd, unsigned int i) | ||
47 | * Check if we need to grow the arrays holding pages and partial page | ||
48 | * descriptions. | ||
49 | */ | ||
50 | -int splice_grow_spd(struct pipe_inode_info *pipe, struct splice_pipe_desc *spd) | ||
51 | +int splice_grow_spd(const struct pipe_inode_info *pipe, struct splice_pipe_desc *spd) | ||
52 | { | ||
53 | - if (pipe->buffers <= PIPE_DEF_BUFFERS) | ||
54 | + unsigned int buffers = ACCESS_ONCE(pipe->buffers); | ||
55 | + | ||
56 | + spd->nr_pages_max = buffers; | ||
57 | + if (buffers <= PIPE_DEF_BUFFERS) | ||
58 | return 0; | ||
59 | |||
60 | - spd->pages = kmalloc(pipe->buffers * sizeof(struct page *), GFP_KERNEL); | ||
61 | - spd->partial = kmalloc(pipe->buffers * sizeof(struct partial_page), GFP_KERNEL); | ||
62 | + spd->pages = kmalloc(buffers * sizeof(struct page *), GFP_KERNEL); | ||
63 | + spd->partial = kmalloc(buffers * sizeof(struct partial_page), GFP_KERNEL); | ||
64 | |||
65 | if (spd->pages && spd->partial) | ||
66 | return 0; | ||
67 | @@ -290,10 +293,9 @@ int splice_grow_spd(struct pipe_inode_info *pipe, struct splice_pipe_desc *spd) | ||
68 | return -ENOMEM; | ||
69 | } | ||
70 | |||
71 | -void splice_shrink_spd(struct pipe_inode_info *pipe, | ||
72 | - struct splice_pipe_desc *spd) | ||
73 | +void splice_shrink_spd(struct splice_pipe_desc *spd) | ||
74 | { | ||
75 | - if (pipe->buffers <= PIPE_DEF_BUFFERS) | ||
76 | + if (spd->nr_pages_max <= PIPE_DEF_BUFFERS) | ||
77 | return; | ||
78 | |||
79 | kfree(spd->pages); | ||
80 | @@ -316,6 +318,7 @@ __generic_file_splice_read(struct file *in, loff_t *ppos, | ||
81 | struct splice_pipe_desc spd = { | ||
82 | .pages = pages, | ||
83 | .partial = partial, | ||
84 | + .nr_pages_max = PIPE_DEF_BUFFERS, | ||
85 | .flags = flags, | ||
86 | .ops = &page_cache_pipe_buf_ops, | ||
87 | .spd_release = spd_release_page, | ||
88 | @@ -327,7 +330,7 @@ __generic_file_splice_read(struct file *in, loff_t *ppos, | ||
89 | index = *ppos >> PAGE_CACHE_SHIFT; | ||
90 | loff = *ppos & ~PAGE_CACHE_MASK; | ||
91 | req_pages = (len + loff + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT; | ||
92 | - nr_pages = min(req_pages, pipe->buffers); | ||
93 | + nr_pages = min(req_pages, spd.nr_pages_max); | ||
94 | |||
95 | /* | ||
96 | * Lookup the (hopefully) full range of pages we need. | ||
97 | @@ -498,7 +501,7 @@ fill_it: | ||
98 | if (spd.nr_pages) | ||
99 | error = splice_to_pipe(pipe, &spd); | ||
100 | |||
101 | - splice_shrink_spd(pipe, &spd); | ||
102 | + splice_shrink_spd(&spd); | ||
103 | return error; | ||
104 | } | ||
105 | |||
106 | @@ -599,6 +602,7 @@ ssize_t default_file_splice_read(struct file *in, loff_t *ppos, | ||
107 | struct splice_pipe_desc spd = { | ||
108 | .pages = pages, | ||
109 | .partial = partial, | ||
110 | + .nr_pages_max = PIPE_DEF_BUFFERS, | ||
111 | .flags = flags, | ||
112 | .ops = &default_pipe_buf_ops, | ||
113 | .spd_release = spd_release_page, | ||
114 | @@ -609,8 +613,8 @@ ssize_t default_file_splice_read(struct file *in, loff_t *ppos, | ||
115 | |||
116 | res = -ENOMEM; | ||
117 | vec = __vec; | ||
118 | - if (pipe->buffers > PIPE_DEF_BUFFERS) { | ||
119 | - vec = kmalloc(pipe->buffers * sizeof(struct iovec), GFP_KERNEL); | ||
120 | + if (spd.nr_pages_max > PIPE_DEF_BUFFERS) { | ||
121 | + vec = kmalloc(spd.nr_pages_max * sizeof(struct iovec), GFP_KERNEL); | ||
122 | if (!vec) | ||
123 | goto shrink_ret; | ||
124 | } | ||
125 | @@ -618,7 +622,7 @@ ssize_t default_file_splice_read(struct file *in, loff_t *ppos, | ||
126 | offset = *ppos & ~PAGE_CACHE_MASK; | ||
127 | nr_pages = (len + offset + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT; | ||
128 | |||
129 | - for (i = 0; i < nr_pages && i < pipe->buffers && len; i++) { | ||
130 | + for (i = 0; i < nr_pages && i < spd.nr_pages_max && len; i++) { | ||
131 | struct page *page; | ||
132 | |||
133 | page = alloc_page(GFP_USER); | ||
134 | @@ -666,7 +670,7 @@ ssize_t default_file_splice_read(struct file *in, loff_t *ppos, | ||
135 | shrink_ret: | ||
136 | if (vec != __vec) | ||
137 | kfree(vec); | ||
138 | - splice_shrink_spd(pipe, &spd); | ||
139 | + splice_shrink_spd(&spd); | ||
140 | return res; | ||
141 | |||
142 | err: | ||
143 | @@ -1616,6 +1620,7 @@ static long vmsplice_to_pipe(struct file *file, const struct iovec __user *iov, | ||
144 | struct splice_pipe_desc spd = { | ||
145 | .pages = pages, | ||
146 | .partial = partial, | ||
147 | + .nr_pages_max = PIPE_DEF_BUFFERS, | ||
148 | .flags = flags, | ||
149 | .ops = &user_page_pipe_buf_ops, | ||
150 | .spd_release = spd_release_page, | ||
151 | @@ -1631,13 +1636,13 @@ static long vmsplice_to_pipe(struct file *file, const struct iovec __user *iov, | ||
152 | |||
153 | spd.nr_pages = get_iovec_page_array(iov, nr_segs, spd.pages, | ||
154 | spd.partial, flags & SPLICE_F_GIFT, | ||
155 | - pipe->buffers); | ||
156 | + spd.nr_pages_max); | ||
157 | if (spd.nr_pages <= 0) | ||
158 | ret = spd.nr_pages; | ||
159 | else | ||
160 | ret = splice_to_pipe(pipe, &spd); | ||
161 | |||
162 | - splice_shrink_spd(pipe, &spd); | ||
163 | + splice_shrink_spd(&spd); | ||
164 | return ret; | ||
165 | } | ||
166 | |||
167 | diff --git a/include/linux/splice.h b/include/linux/splice.h | ||
168 | index 26e5b61..09a545a 100644 | ||
169 | --- a/include/linux/splice.h | ||
170 | +++ b/include/linux/splice.h | ||
171 | @@ -51,7 +51,8 @@ struct partial_page { | ||
172 | struct splice_pipe_desc { | ||
173 | struct page **pages; /* page map */ | ||
174 | struct partial_page *partial; /* pages[] may not be contig */ | ||
175 | - int nr_pages; /* number of pages in map */ | ||
176 | + int nr_pages; /* number of populated pages in map */ | ||
177 | + unsigned int nr_pages_max; /* pages[] & partial[] arrays size */ | ||
178 | unsigned int flags; /* splice flags */ | ||
179 | const struct pipe_buf_operations *ops;/* ops associated with output pipe */ | ||
180 | void (*spd_release)(struct splice_pipe_desc *, unsigned int); | ||
181 | @@ -85,9 +86,8 @@ extern ssize_t splice_direct_to_actor(struct file *, struct splice_desc *, | ||
182 | /* | ||
183 | * for dynamic pipe sizing | ||
184 | */ | ||
185 | -extern int splice_grow_spd(struct pipe_inode_info *, struct splice_pipe_desc *); | ||
186 | -extern void splice_shrink_spd(struct pipe_inode_info *, | ||
187 | - struct splice_pipe_desc *); | ||
188 | +extern int splice_grow_spd(const struct pipe_inode_info *, struct splice_pipe_desc *); | ||
189 | +extern void splice_shrink_spd(struct splice_pipe_desc *); | ||
190 | extern void spd_release_page(struct splice_pipe_desc *, unsigned int); | ||
191 | |||
192 | extern const struct pipe_buf_operations page_cache_pipe_buf_ops; | ||
193 | diff --git a/kernel/relay.c b/kernel/relay.c | ||
194 | index b6f803a..a535fc9 100644 | ||
195 | --- a/kernel/relay.c | ||
196 | +++ b/kernel/relay.c | ||
197 | @@ -1235,6 +1235,7 @@ static ssize_t subbuf_splice_actor(struct file *in, | ||
198 | struct splice_pipe_desc spd = { | ||
199 | .pages = pages, | ||
200 | .nr_pages = 0, | ||
201 | + .nr_pages_max = PIPE_DEF_BUFFERS, | ||
202 | .partial = partial, | ||
203 | .flags = flags, | ||
204 | .ops = &relay_pipe_buf_ops, | ||
205 | @@ -1302,8 +1303,8 @@ static ssize_t subbuf_splice_actor(struct file *in, | ||
206 | ret += padding; | ||
207 | |||
208 | out: | ||
209 | - splice_shrink_spd(pipe, &spd); | ||
210 | - return ret; | ||
211 | + splice_shrink_spd(&spd); | ||
212 | + return ret; | ||
213 | } | ||
214 | |||
215 | static ssize_t relay_file_splice_read(struct file *in, | ||
216 | diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c | ||
217 | index 697e49d..7e4edd3 100644 | ||
218 | --- a/kernel/trace/trace.c | ||
219 | +++ b/kernel/trace/trace.c | ||
220 | @@ -3456,6 +3456,7 @@ static ssize_t tracing_splice_read_pipe(struct file *filp, | ||
221 | .pages = pages_def, | ||
222 | .partial = partial_def, | ||
223 | .nr_pages = 0, /* This gets updated below. */ | ||
224 | + .nr_pages_max = PIPE_DEF_BUFFERS, | ||
225 | .flags = flags, | ||
226 | .ops = &tracing_pipe_buf_ops, | ||
227 | .spd_release = tracing_spd_release_pipe, | ||
228 | @@ -3527,7 +3528,7 @@ static ssize_t tracing_splice_read_pipe(struct file *filp, | ||
229 | |||
230 | ret = splice_to_pipe(pipe, &spd); | ||
231 | out: | ||
232 | - splice_shrink_spd(pipe, &spd); | ||
233 | + splice_shrink_spd(&spd); | ||
234 | return ret; | ||
235 | |||
236 | out_err: | ||
237 | @@ -4017,6 +4018,7 @@ tracing_buffers_splice_read(struct file *file, loff_t *ppos, | ||
238 | struct splice_pipe_desc spd = { | ||
239 | .pages = pages_def, | ||
240 | .partial = partial_def, | ||
241 | + .nr_pages_max = PIPE_DEF_BUFFERS, | ||
242 | .flags = flags, | ||
243 | .ops = &buffer_pipe_buf_ops, | ||
244 | .spd_release = buffer_spd_release, | ||
245 | @@ -4104,7 +4106,7 @@ tracing_buffers_splice_read(struct file *file, loff_t *ppos, | ||
246 | } | ||
247 | |||
248 | ret = splice_to_pipe(pipe, &spd); | ||
249 | - splice_shrink_spd(pipe, &spd); | ||
250 | + splice_shrink_spd(&spd); | ||
251 | out: | ||
252 | return ret; | ||
253 | } | ||
254 | diff --git a/mm/shmem.c b/mm/shmem.c | ||
255 | index 6c253f7..7a82174 100644 | ||
256 | --- a/mm/shmem.c | ||
257 | +++ b/mm/shmem.c | ||
258 | @@ -1359,6 +1359,7 @@ static ssize_t shmem_file_splice_read(struct file *in, loff_t *ppos, | ||
259 | struct splice_pipe_desc spd = { | ||
260 | .pages = pages, | ||
261 | .partial = partial, | ||
262 | + .nr_pages_max = PIPE_DEF_BUFFERS, | ||
263 | .flags = flags, | ||
264 | .ops = &page_cache_pipe_buf_ops, | ||
265 | .spd_release = spd_release_page, | ||
266 | @@ -1447,7 +1448,7 @@ static ssize_t shmem_file_splice_read(struct file *in, loff_t *ppos, | ||
267 | if (spd.nr_pages) | ||
268 | error = splice_to_pipe(pipe, &spd); | ||
269 | |||
270 | - splice_shrink_spd(pipe, &spd); | ||
271 | + splice_shrink_spd(&spd); | ||
272 | |||
273 | if (error > 0) { | ||
274 | *ppos += error; | ||
275 | diff --git a/net/core/skbuff.c b/net/core/skbuff.c | ||
276 | index 2ec200de..af9c3c6 100644 | ||
277 | --- a/net/core/skbuff.c | ||
278 | +++ b/net/core/skbuff.c | ||
279 | @@ -1663,6 +1663,7 @@ int skb_splice_bits(struct sk_buff *skb, unsigned int offset, | ||
280 | struct splice_pipe_desc spd = { | ||
281 | .pages = pages, | ||
282 | .partial = partial, | ||
283 | + .nr_pages_max = MAX_SKB_FRAGS, | ||
284 | .flags = flags, | ||
285 | .ops = &sock_pipe_buf_ops, | ||
286 | .spd_release = sock_spd_release, | ||
287 | @@ -1709,7 +1710,7 @@ done: | ||
288 | lock_sock(sk); | ||
289 | } | ||
290 | |||
291 | - splice_shrink_spd(pipe, &spd); | ||
292 | + splice_shrink_spd(&spd); | ||
293 | return ret; | ||
294 | } | ||
295 | |||
296 | -- | ||
297 | 1.7.10 | ||
298 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0002-umem-fix-up-unplugging.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0002-umem-fix-up-unplugging.patch new file mode 100644 index 00000000..0b28837f --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0002-umem-fix-up-unplugging.patch | |||
@@ -0,0 +1,86 @@ | |||
1 | From fd0fcfd8f28824587f180ccde95c03fca533ab05 Mon Sep 17 00:00:00 2001 | ||
2 | From: Tao Guo <glorioustao@gmail.com> | ||
3 | Date: Wed, 13 Jun 2012 21:17:21 +0200 | ||
4 | Subject: [PATCH 02/49] umem: fix up unplugging | ||
5 | |||
6 | commit 32587371ad3db2f9d335de10dbd8cffd4fff5669 upstream. | ||
7 | |||
8 | Fix a regression introduced by 7eaceaccab5f40 ("block: remove per-queue | ||
9 | plugging"). In that patch, Jens removed the whole mm_unplug_device() | ||
10 | function, which used to be the trigger to make umem start to work. | ||
11 | |||
12 | We need to implement unplugging to make umem start to work, or I/O will | ||
13 | never be triggered. | ||
14 | |||
15 | Signed-off-by: Tao Guo <Tao.Guo@emc.com> | ||
16 | Cc: Neil Brown <neilb@suse.de> | ||
17 | Cc: Jens Axboe <axboe@kernel.dk> | ||
18 | Cc: Shaohua Li <shli@kernel.org> | ||
19 | Acked-by: NeilBrown <neilb@suse.de> | ||
20 | Signed-off-by: Jens Axboe <axboe@kernel.dk> | ||
21 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
22 | --- | ||
23 | drivers/block/umem.c | 40 ++++++++++++++++++++++++++++++++++++++++ | ||
24 | 1 file changed, 40 insertions(+) | ||
25 | |||
26 | diff --git a/drivers/block/umem.c b/drivers/block/umem.c | ||
27 | index aa27120..9a72277 100644 | ||
28 | --- a/drivers/block/umem.c | ||
29 | +++ b/drivers/block/umem.c | ||
30 | @@ -513,6 +513,44 @@ static void process_page(unsigned long data) | ||
31 | } | ||
32 | } | ||
33 | |||
34 | +struct mm_plug_cb { | ||
35 | + struct blk_plug_cb cb; | ||
36 | + struct cardinfo *card; | ||
37 | +}; | ||
38 | + | ||
39 | +static void mm_unplug(struct blk_plug_cb *cb) | ||
40 | +{ | ||
41 | + struct mm_plug_cb *mmcb = container_of(cb, struct mm_plug_cb, cb); | ||
42 | + | ||
43 | + spin_lock_irq(&mmcb->card->lock); | ||
44 | + activate(mmcb->card); | ||
45 | + spin_unlock_irq(&mmcb->card->lock); | ||
46 | + kfree(mmcb); | ||
47 | +} | ||
48 | + | ||
49 | +static int mm_check_plugged(struct cardinfo *card) | ||
50 | +{ | ||
51 | + struct blk_plug *plug = current->plug; | ||
52 | + struct mm_plug_cb *mmcb; | ||
53 | + | ||
54 | + if (!plug) | ||
55 | + return 0; | ||
56 | + | ||
57 | + list_for_each_entry(mmcb, &plug->cb_list, cb.list) { | ||
58 | + if (mmcb->cb.callback == mm_unplug && mmcb->card == card) | ||
59 | + return 1; | ||
60 | + } | ||
61 | + /* Not currently on the callback list */ | ||
62 | + mmcb = kmalloc(sizeof(*mmcb), GFP_ATOMIC); | ||
63 | + if (!mmcb) | ||
64 | + return 0; | ||
65 | + | ||
66 | + mmcb->card = card; | ||
67 | + mmcb->cb.callback = mm_unplug; | ||
68 | + list_add(&mmcb->cb.list, &plug->cb_list); | ||
69 | + return 1; | ||
70 | +} | ||
71 | + | ||
72 | static void mm_make_request(struct request_queue *q, struct bio *bio) | ||
73 | { | ||
74 | struct cardinfo *card = q->queuedata; | ||
75 | @@ -523,6 +561,8 @@ static void mm_make_request(struct request_queue *q, struct bio *bio) | ||
76 | *card->biotail = bio; | ||
77 | bio->bi_next = NULL; | ||
78 | card->biotail = &bio->bi_next; | ||
79 | + if (bio->bi_rw & REQ_SYNC || !mm_check_plugged(card)) | ||
80 | + activate(card); | ||
81 | spin_unlock_irq(&card->lock); | ||
82 | |||
83 | return; | ||
84 | -- | ||
85 | 1.7.10 | ||
86 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0003-mwifiex-fix-11n-rx-packet-drop-issue.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0003-mwifiex-fix-11n-rx-packet-drop-issue.patch new file mode 100644 index 00000000..eef5de77 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0003-mwifiex-fix-11n-rx-packet-drop-issue.patch | |||
@@ -0,0 +1,88 @@ | |||
1 | From 8c92af27a522bcec5dc2ced7b49b8f3f57492b21 Mon Sep 17 00:00:00 2001 | ||
2 | From: Stone Piao <piaoyun@marvell.com> | ||
3 | Date: Wed, 20 Jun 2012 20:21:10 -0700 | ||
4 | Subject: [PATCH 03/49] mwifiex: fix 11n rx packet drop issue | ||
5 | |||
6 | commit 925839243dc9aa4ef25305f5afd10ed18258a4ac upstream. | ||
7 | |||
8 | Currently we check the sequence number of last packet received | ||
9 | against start_win. If a sequence hole is detected, start_win is | ||
10 | updated to next sequence number. | ||
11 | |||
12 | Since the rx sequence number is initialized to 0, a corner case | ||
13 | exists when BA setup happens immediately after association. As | ||
14 | 0 is a valid sequence number, start_win gets increased to 1 | ||
15 | incorrectly. This causes the first packet with sequence number 0 | ||
16 | being dropped. | ||
17 | |||
18 | Initialize rx sequence number as 0xffff and skip adjusting | ||
19 | start_win if the sequence number remains 0xffff. The sequence | ||
20 | number will be updated once the first packet is received. | ||
21 | |||
22 | Signed-off-by: Stone Piao <piaoyun@marvell.com> | ||
23 | Signed-off-by: Avinash Patil <patila@marvell.com> | ||
24 | Signed-off-by: Kiran Divekar <dkiran@marvell.com> | ||
25 | Signed-off-by: Bing Zhao <bzhao@marvell.com> | ||
26 | Signed-off-by: John W. Linville <linville@tuxdriver.com> | ||
27 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
28 | --- | ||
29 | drivers/net/wireless/mwifiex/11n_rxreorder.c | 5 +++-- | ||
30 | drivers/net/wireless/mwifiex/11n_rxreorder.h | 7 +++++++ | ||
31 | drivers/net/wireless/mwifiex/wmm.c | 2 ++ | ||
32 | 3 files changed, 12 insertions(+), 2 deletions(-) | ||
33 | |||
34 | diff --git a/drivers/net/wireless/mwifiex/11n_rxreorder.c b/drivers/net/wireless/mwifiex/11n_rxreorder.c | ||
35 | index 7aa9aa0..39fd4d5 100644 | ||
36 | --- a/drivers/net/wireless/mwifiex/11n_rxreorder.c | ||
37 | +++ b/drivers/net/wireless/mwifiex/11n_rxreorder.c | ||
38 | @@ -267,7 +267,8 @@ mwifiex_11n_create_rx_reorder_tbl(struct mwifiex_private *priv, u8 *ta, | ||
39 | else | ||
40 | last_seq = priv->rx_seq[tid]; | ||
41 | |||
42 | - if (last_seq >= new_node->start_win) | ||
43 | + if (last_seq != MWIFIEX_DEF_11N_RX_SEQ_NUM && | ||
44 | + last_seq >= new_node->start_win) | ||
45 | new_node->start_win = last_seq + 1; | ||
46 | |||
47 | new_node->win_size = win_size; | ||
48 | @@ -611,5 +612,5 @@ void mwifiex_11n_cleanup_reorder_tbl(struct mwifiex_private *priv) | ||
49 | spin_unlock_irqrestore(&priv->rx_reorder_tbl_lock, flags); | ||
50 | |||
51 | INIT_LIST_HEAD(&priv->rx_reorder_tbl_ptr); | ||
52 | - memset(priv->rx_seq, 0, sizeof(priv->rx_seq)); | ||
53 | + mwifiex_reset_11n_rx_seq_num(priv); | ||
54 | } | ||
55 | diff --git a/drivers/net/wireless/mwifiex/11n_rxreorder.h b/drivers/net/wireless/mwifiex/11n_rxreorder.h | ||
56 | index 033c8ad..7128baa 100644 | ||
57 | --- a/drivers/net/wireless/mwifiex/11n_rxreorder.h | ||
58 | +++ b/drivers/net/wireless/mwifiex/11n_rxreorder.h | ||
59 | @@ -37,6 +37,13 @@ | ||
60 | |||
61 | #define ADDBA_RSP_STATUS_ACCEPT 0 | ||
62 | |||
63 | +#define MWIFIEX_DEF_11N_RX_SEQ_NUM 0xffff | ||
64 | + | ||
65 | +static inline void mwifiex_reset_11n_rx_seq_num(struct mwifiex_private *priv) | ||
66 | +{ | ||
67 | + memset(priv->rx_seq, 0xff, sizeof(priv->rx_seq)); | ||
68 | +} | ||
69 | + | ||
70 | int mwifiex_11n_rx_reorder_pkt(struct mwifiex_private *, | ||
71 | u16 seqNum, | ||
72 | u16 tid, u8 *ta, | ||
73 | diff --git a/drivers/net/wireless/mwifiex/wmm.c b/drivers/net/wireless/mwifiex/wmm.c | ||
74 | index 6c239c3..b94a349 100644 | ||
75 | --- a/drivers/net/wireless/mwifiex/wmm.c | ||
76 | +++ b/drivers/net/wireless/mwifiex/wmm.c | ||
77 | @@ -406,6 +406,8 @@ mwifiex_wmm_init(struct mwifiex_adapter *adapter) | ||
78 | priv->add_ba_param.tx_win_size = MWIFIEX_AMPDU_DEF_TXWINSIZE; | ||
79 | priv->add_ba_param.rx_win_size = MWIFIEX_AMPDU_DEF_RXWINSIZE; | ||
80 | |||
81 | + mwifiex_reset_11n_rx_seq_num(priv); | ||
82 | + | ||
83 | atomic_set(&priv->wmm.tx_pkts_queued, 0); | ||
84 | atomic_set(&priv->wmm.highest_queued_prio, HIGH_PRIO_TID); | ||
85 | } | ||
86 | -- | ||
87 | 1.7.10 | ||
88 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0004-mwifiex-fix-WPS-eapol-handshake-failure.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0004-mwifiex-fix-WPS-eapol-handshake-failure.patch new file mode 100644 index 00000000..b25c446d --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0004-mwifiex-fix-WPS-eapol-handshake-failure.patch | |||
@@ -0,0 +1,52 @@ | |||
1 | From ea7217bde3c1bbcb215d3b67a4308399ac1d574c Mon Sep 17 00:00:00 2001 | ||
2 | From: Stone Piao <piaoyun@marvell.com> | ||
3 | Date: Wed, 20 Jun 2012 20:21:11 -0700 | ||
4 | Subject: [PATCH 04/49] mwifiex: fix WPS eapol handshake failure | ||
5 | |||
6 | commit f03ba7e9a24e5e9efaad56bd1713b994ea556b16 upstream. | ||
7 | |||
8 | After association, STA will go through eapol handshake with WPS | ||
9 | enabled AP. It's observed that WPS handshake fails with some 11n | ||
10 | AP. The reason for the failure is that the eapol packet is sent | ||
11 | via 11n frame aggregation. | ||
12 | |||
13 | The eapol packet should be sent directly without 11n aggregation. | ||
14 | |||
15 | This patch fixes the problem by adding WPS session control while | ||
16 | dequeuing Tx packets for transmission. | ||
17 | |||
18 | Signed-off-by: Stone Piao <piaoyun@marvell.com> | ||
19 | Signed-off-by: Avinash Patil <patila@marvell.com> | ||
20 | Signed-off-by: Bing Zhao <bzhao@marvell.com> | ||
21 | Signed-off-by: John W. Linville <linville@tuxdriver.com> | ||
22 | [bwh: Backported to 3.2: reformat the if-statement per earlier | ||
23 | upstream commit c65a30f35f938b421ac67c34a9e70b0e49e6019a] | ||
24 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
25 | --- | ||
26 | drivers/net/wireless/mwifiex/wmm.c | 10 ++++++---- | ||
27 | 1 file changed, 6 insertions(+), 4 deletions(-) | ||
28 | |||
29 | diff --git a/drivers/net/wireless/mwifiex/wmm.c b/drivers/net/wireless/mwifiex/wmm.c | ||
30 | index b94a349..06fcf1e 100644 | ||
31 | --- a/drivers/net/wireless/mwifiex/wmm.c | ||
32 | +++ b/drivers/net/wireless/mwifiex/wmm.c | ||
33 | @@ -1211,10 +1211,12 @@ mwifiex_dequeue_tx_packet(struct mwifiex_adapter *adapter) | ||
34 | return 0; | ||
35 | } | ||
36 | |||
37 | - if (!ptr->is_11n_enabled || mwifiex_is_ba_stream_setup(priv, ptr, tid) | ||
38 | - || ((priv->sec_info.wpa_enabled | ||
39 | - || priv->sec_info.wpa2_enabled) && !priv->wpa_is_gtk_set) | ||
40 | - ) { | ||
41 | + if (!ptr->is_11n_enabled || | ||
42 | + mwifiex_is_ba_stream_setup(priv, ptr, tid) || | ||
43 | + priv->wps.session_enable || | ||
44 | + ((priv->sec_info.wpa_enabled || | ||
45 | + priv->sec_info.wpa2_enabled) && | ||
46 | + !priv->wpa_is_gtk_set)) { | ||
47 | mwifiex_send_single_packet(priv, ptr, ptr_index, flags); | ||
48 | /* ra_list_spinlock has been freed in | ||
49 | mwifiex_send_single_packet() */ | ||
50 | -- | ||
51 | 1.7.10 | ||
52 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0005-NFC-Prevent-multiple-buffer-overflows-in-NCI.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0005-NFC-Prevent-multiple-buffer-overflows-in-NCI.patch new file mode 100644 index 00000000..10ae6473 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0005-NFC-Prevent-multiple-buffer-overflows-in-NCI.patch | |||
@@ -0,0 +1,52 @@ | |||
1 | From e7d858dec1d8cf3c283019ff51adae14b8be9388 Mon Sep 17 00:00:00 2001 | ||
2 | From: Dan Rosenberg <dan.j.rosenberg@gmail.com> | ||
3 | Date: Mon, 25 Jun 2012 16:05:27 +0200 | ||
4 | Subject: [PATCH 05/49] NFC: Prevent multiple buffer overflows in NCI | ||
5 | |||
6 | commit 67de956ff5dc1d4f321e16cfbd63f5be3b691b43 upstream. | ||
7 | |||
8 | Fix multiple remotely-exploitable stack-based buffer overflows due to | ||
9 | the NCI code pulling length fields directly from incoming frames and | ||
10 | copying too much data into statically-sized arrays. | ||
11 | |||
12 | Signed-off-by: Dan Rosenberg <dan.j.rosenberg@gmail.com> | ||
13 | Cc: security@kernel.org | ||
14 | Cc: Lauro Ramos Venancio <lauro.venancio@openbossa.org> | ||
15 | Cc: Aloisio Almeida Jr <aloisio.almeida@openbossa.org> | ||
16 | Cc: Samuel Ortiz <sameo@linux.intel.com> | ||
17 | Cc: David S. Miller <davem@davemloft.net> | ||
18 | Acked-by: Ilan Elias <ilane@ti.com> | ||
19 | Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> | ||
20 | [bwh: Backported to 3.2: | ||
21 | - Drop changes to parsing of tech B and tech F parameters | ||
22 | - Various renaming] | ||
23 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
24 | --- | ||
25 | net/nfc/nci/ntf.c | 4 ++-- | ||
26 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
27 | |||
28 | diff --git a/net/nfc/nci/ntf.c b/net/nfc/nci/ntf.c | ||
29 | index 96633f5..12b6a80 100644 | ||
30 | --- a/net/nfc/nci/ntf.c | ||
31 | +++ b/net/nfc/nci/ntf.c | ||
32 | @@ -86,7 +86,7 @@ static int nci_rf_activate_nfca_passive_poll(struct nci_dev *ndev, | ||
33 | nfca_poll->sens_res = __le16_to_cpu(*((__u16 *)data)); | ||
34 | data += 2; | ||
35 | |||
36 | - nfca_poll->nfcid1_len = *data++; | ||
37 | + nfca_poll->nfcid1_len = min_t(__u8, *data++, sizeof(nfca_poll->nfcid1)); | ||
38 | |||
39 | nfc_dbg("sens_res 0x%x, nfcid1_len %d", | ||
40 | nfca_poll->sens_res, | ||
41 | @@ -111,7 +111,7 @@ static int nci_rf_activate_nfca_passive_poll(struct nci_dev *ndev, | ||
42 | |||
43 | switch (ntf->rf_interface_type) { | ||
44 | case NCI_RF_INTERFACE_ISO_DEP: | ||
45 | - nfca_poll_iso_dep->rats_res_len = *data++; | ||
46 | + nfca_poll_iso_dep->rats_res_len = min_t(__u8, *data++, 20); | ||
47 | if (nfca_poll_iso_dep->rats_res_len > 0) { | ||
48 | memcpy(nfca_poll_iso_dep->rats_res, | ||
49 | data, | ||
50 | -- | ||
51 | 1.7.10 | ||
52 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0006-ath9k-fix-dynamic-WEP-related-regression.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0006-ath9k-fix-dynamic-WEP-related-regression.patch new file mode 100644 index 00000000..e8fe4149 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0006-ath9k-fix-dynamic-WEP-related-regression.patch | |||
@@ -0,0 +1,80 @@ | |||
1 | From 11f5e090b288e9e933c8b7790626db9a5beef760 Mon Sep 17 00:00:00 2001 | ||
2 | From: Felix Fietkau <nbd@openwrt.org> | ||
3 | Date: Sat, 23 Jun 2012 19:23:31 +0200 | ||
4 | Subject: [PATCH 06/49] ath9k: fix dynamic WEP related regression | ||
5 | |||
6 | commit bed3d9c0b71f9afbfec905cb6db3b9f16be29d4d upstream. | ||
7 | |||
8 | commit 7a532fe7131216a02c81a6c1b1f8632da1195a58 | ||
9 | ath9k_hw: fix interpretation of the rx KeyMiss flag | ||
10 | |||
11 | This commit used the rx key miss indication to detect packets that were | ||
12 | passed from the hardware without being decrypted, however it seems that | ||
13 | this bit is not only undefined in the static WEP case, but also for | ||
14 | dynamically allocated WEP keys. This caused a regression when using | ||
15 | WEP-LEAP. | ||
16 | |||
17 | This patch fixes the regression by keeping track of which key indexes | ||
18 | refer to CCMP keys and only using the key miss indication for those. | ||
19 | |||
20 | Reported-by: Stanislaw Gruszka <sgruszka@redhat.com> | ||
21 | Signed-off-by: Felix Fietkau <nbd@openwrt.org> | ||
22 | Signed-off-by: John W. Linville <linville@tuxdriver.com> | ||
23 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
24 | --- | ||
25 | drivers/net/wireless/ath/ath.h | 1 + | ||
26 | drivers/net/wireless/ath/ath9k/recv.c | 3 ++- | ||
27 | drivers/net/wireless/ath/key.c | 4 ++++ | ||
28 | 3 files changed, 7 insertions(+), 1 deletion(-) | ||
29 | |||
30 | diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h | ||
31 | index 0f9ee46..4cc4a8b 100644 | ||
32 | --- a/drivers/net/wireless/ath/ath.h | ||
33 | +++ b/drivers/net/wireless/ath/ath.h | ||
34 | @@ -143,6 +143,7 @@ struct ath_common { | ||
35 | u32 keymax; | ||
36 | DECLARE_BITMAP(keymap, ATH_KEYMAX); | ||
37 | DECLARE_BITMAP(tkip_keymap, ATH_KEYMAX); | ||
38 | + DECLARE_BITMAP(ccmp_keymap, ATH_KEYMAX); | ||
39 | enum ath_crypt_caps crypt_caps; | ||
40 | |||
41 | unsigned int clockrate; | ||
42 | diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c | ||
43 | index 2f3aeac..e6d791c 100644 | ||
44 | --- a/drivers/net/wireless/ath/ath9k/recv.c | ||
45 | +++ b/drivers/net/wireless/ath/ath9k/recv.c | ||
46 | @@ -829,7 +829,8 @@ static bool ath9k_rx_accept(struct ath_common *common, | ||
47 | * descriptor does contain a valid key index. This has been observed | ||
48 | * mostly with CCMP encryption. | ||
49 | */ | ||
50 | - if (rx_stats->rs_keyix == ATH9K_RXKEYIX_INVALID) | ||
51 | + if (rx_stats->rs_keyix == ATH9K_RXKEYIX_INVALID || | ||
52 | + !test_bit(rx_stats->rs_keyix, common->ccmp_keymap)) | ||
53 | rx_stats->rs_status &= ~ATH9K_RXERR_KEYMISS; | ||
54 | |||
55 | if (!rx_stats->rs_datalen) | ||
56 | diff --git a/drivers/net/wireless/ath/key.c b/drivers/net/wireless/ath/key.c | ||
57 | index 4cf7c5e..1ec3fa5 100644 | ||
58 | --- a/drivers/net/wireless/ath/key.c | ||
59 | +++ b/drivers/net/wireless/ath/key.c | ||
60 | @@ -556,6 +556,9 @@ int ath_key_config(struct ath_common *common, | ||
61 | return -EIO; | ||
62 | |||
63 | set_bit(idx, common->keymap); | ||
64 | + if (key->cipher == WLAN_CIPHER_SUITE_CCMP) | ||
65 | + set_bit(idx, common->ccmp_keymap); | ||
66 | + | ||
67 | if (key->cipher == WLAN_CIPHER_SUITE_TKIP) { | ||
68 | set_bit(idx + 64, common->keymap); | ||
69 | set_bit(idx, common->tkip_keymap); | ||
70 | @@ -582,6 +585,7 @@ void ath_key_delete(struct ath_common *common, struct ieee80211_key_conf *key) | ||
71 | return; | ||
72 | |||
73 | clear_bit(key->hw_key_idx, common->keymap); | ||
74 | + clear_bit(key->hw_key_idx, common->ccmp_keymap); | ||
75 | if (key->cipher != WLAN_CIPHER_SUITE_TKIP) | ||
76 | return; | ||
77 | |||
78 | -- | ||
79 | 1.7.10 | ||
80 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0007-NFC-Return-from-rawsock_release-when-sk-is-NULL.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0007-NFC-Return-from-rawsock_release-when-sk-is-NULL.patch new file mode 100644 index 00000000..43801f4d --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0007-NFC-Return-from-rawsock_release-when-sk-is-NULL.patch | |||
@@ -0,0 +1,107 @@ | |||
1 | From fd1f8dc4e31b8daeec0cb785256de7297a06e300 Mon Sep 17 00:00:00 2001 | ||
2 | From: Eric Dumazet <edumazet@google.com> | ||
3 | Date: Tue, 12 Jun 2012 00:47:58 +0200 | ||
4 | Subject: [PATCH 07/49] NFC: Return from rawsock_release when sk is NULL | ||
5 | |||
6 | commit 03e934f620101ca2cfc9383bd76172dd3e1f8567 upstream. | ||
7 | |||
8 | Sasha Levin reported following panic : | ||
9 | |||
10 | [ 2136.383310] BUG: unable to handle kernel NULL pointer dereference at | ||
11 | 00000000000003b0 | ||
12 | [ 2136.384022] IP: [<ffffffff8114e400>] __lock_acquire+0xc0/0x4b0 | ||
13 | [ 2136.384022] PGD 131c4067 PUD 11c0c067 PMD 0 | ||
14 | [ 2136.388106] Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC | ||
15 | [ 2136.388106] CPU 1 | ||
16 | [ 2136.388106] Pid: 24855, comm: trinity-child1 Tainted: G W | ||
17 | 3.5.0-rc2-sasha-00015-g7b268f7 #374 | ||
18 | [ 2136.388106] RIP: 0010:[<ffffffff8114e400>] [<ffffffff8114e400>] | ||
19 | __lock_acquire+0xc0/0x4b0 | ||
20 | [ 2136.388106] RSP: 0018:ffff8800130b3ca8 EFLAGS: 00010046 | ||
21 | [ 2136.388106] RAX: 0000000000000086 RBX: ffff88001186b000 RCX: | ||
22 | 0000000000000000 | ||
23 | [ 2136.388106] RDX: 0000000000000000 RSI: 0000000000000000 RDI: | ||
24 | 0000000000000000 | ||
25 | [ 2136.388106] RBP: ffff8800130b3d08 R08: 0000000000000001 R09: | ||
26 | 0000000000000000 | ||
27 | [ 2136.388106] R10: 0000000000000000 R11: 0000000000000001 R12: | ||
28 | 0000000000000002 | ||
29 | [ 2136.388106] R13: 00000000000003b0 R14: 0000000000000000 R15: | ||
30 | 0000000000000000 | ||
31 | [ 2136.388106] FS: 00007fa5b1bd4700(0000) GS:ffff88001b800000(0000) | ||
32 | knlGS:0000000000000000 | ||
33 | [ 2136.388106] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 | ||
34 | [ 2136.388106] CR2: 00000000000003b0 CR3: 0000000011d1f000 CR4: | ||
35 | 00000000000406e0 | ||
36 | [ 2136.388106] DR0: 0000000000000000 DR1: 0000000000000000 DR2: | ||
37 | 0000000000000000 | ||
38 | [ 2136.388106] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: | ||
39 | 0000000000000400 | ||
40 | [ 2136.388106] Process trinity-child1 (pid: 24855, threadinfo | ||
41 | ffff8800130b2000, task ffff88001186b000) | ||
42 | [ 2136.388106] Stack: | ||
43 | [ 2136.388106] ffff8800130b3cd8 ffffffff81121785 ffffffff81236774 | ||
44 | 000080d000000001 | ||
45 | [ 2136.388106] ffff88001b9d6c00 00000000001d6c00 ffffffff130b3d08 | ||
46 | ffff88001186b000 | ||
47 | [ 2136.388106] 0000000000000000 0000000000000002 0000000000000000 | ||
48 | 0000000000000000 | ||
49 | [ 2136.388106] Call Trace: | ||
50 | [ 2136.388106] [<ffffffff81121785>] ? sched_clock_local+0x25/0x90 | ||
51 | [ 2136.388106] [<ffffffff81236774>] ? get_empty_filp+0x74/0x220 | ||
52 | [ 2136.388106] [<ffffffff8114e97a>] lock_acquire+0x18a/0x1e0 | ||
53 | [ 2136.388106] [<ffffffff836b37df>] ? rawsock_release+0x4f/0xa0 | ||
54 | [ 2136.388106] [<ffffffff837c0ef0>] _raw_write_lock_bh+0x40/0x80 | ||
55 | [ 2136.388106] [<ffffffff836b37df>] ? rawsock_release+0x4f/0xa0 | ||
56 | [ 2136.388106] [<ffffffff836b37df>] rawsock_release+0x4f/0xa0 | ||
57 | [ 2136.388106] [<ffffffff8321cfe8>] sock_release+0x18/0x70 | ||
58 | [ 2136.388106] [<ffffffff8321d069>] sock_close+0x29/0x30 | ||
59 | [ 2136.388106] [<ffffffff81236bca>] __fput+0x11a/0x2c0 | ||
60 | [ 2136.388106] [<ffffffff81236d85>] fput+0x15/0x20 | ||
61 | [ 2136.388106] [<ffffffff8321de34>] sys_accept4+0x1b4/0x200 | ||
62 | [ 2136.388106] [<ffffffff837c165c>] ? _raw_spin_unlock_irq+0x4c/0x80 | ||
63 | [ 2136.388106] [<ffffffff837c1669>] ? _raw_spin_unlock_irq+0x59/0x80 | ||
64 | [ 2136.388106] [<ffffffff837c2565>] ? sysret_check+0x22/0x5d | ||
65 | [ 2136.388106] [<ffffffff8321de8b>] sys_accept+0xb/0x10 | ||
66 | [ 2136.388106] [<ffffffff837c2539>] system_call_fastpath+0x16/0x1b | ||
67 | [ 2136.388106] Code: ec 04 00 0f 85 ea 03 00 00 be d5 0b 00 00 48 c7 c7 | ||
68 | 8a c1 40 84 e8 b1 a5 f8 ff 31 c0 e9 d4 03 00 00 66 2e 0f 1f 84 00 00 00 | ||
69 | 00 00 <49> 81 7d 00 60 73 5e 85 b8 01 00 00 00 44 0f 44 e0 83 fe 01 77 | ||
70 | [ 2136.388106] RIP [<ffffffff8114e400>] __lock_acquire+0xc0/0x4b0 | ||
71 | [ 2136.388106] RSP <ffff8800130b3ca8> | ||
72 | [ 2136.388106] CR2: 00000000000003b0 | ||
73 | [ 2136.388106] ---[ end trace 6d450e935ee18982 ]--- | ||
74 | [ 2136.388106] Kernel panic - not syncing: Fatal exception in interrupt | ||
75 | |||
76 | rawsock_release() should test if sock->sk is NULL before calling | ||
77 | sock_orphan()/sock_put() | ||
78 | |||
79 | Reported-by: Sasha Levin <levinsasha928@gmail.com> | ||
80 | Tested-by: Sasha Levin <levinsasha928@gmail.com> | ||
81 | Signed-off-by: Eric Dumazet <edumazet@google.com> | ||
82 | Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> | ||
83 | [bwh: Backported to 3.2: keep using nfc_dbg(), not pr_debug()] | ||
84 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
85 | --- | ||
86 | net/nfc/rawsock.c | 5 ++++- | ||
87 | 1 file changed, 4 insertions(+), 1 deletion(-) | ||
88 | |||
89 | diff --git a/net/nfc/rawsock.c b/net/nfc/rawsock.c | ||
90 | index ee7b2b3..7a167fc 100644 | ||
91 | --- a/net/nfc/rawsock.c | ||
92 | +++ b/net/nfc/rawsock.c | ||
93 | @@ -52,7 +52,10 @@ static int rawsock_release(struct socket *sock) | ||
94 | { | ||
95 | struct sock *sk = sock->sk; | ||
96 | |||
97 | - nfc_dbg("sock=%p", sock); | ||
98 | + nfc_dbg("sock=%p sk=%p", sock, sk); | ||
99 | + | ||
100 | + if (!sk) | ||
101 | + return 0; | ||
102 | |||
103 | sock_orphan(sk); | ||
104 | sock_put(sk); | ||
105 | -- | ||
106 | 1.7.10 | ||
107 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0008-rtlwifi-rtl8192cu-New-USB-IDs.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0008-rtlwifi-rtl8192cu-New-USB-IDs.patch new file mode 100644 index 00000000..99f6f601 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0008-rtlwifi-rtl8192cu-New-USB-IDs.patch | |||
@@ -0,0 +1,45 @@ | |||
1 | From a771eb7b20c60a73ec422943dd387fbca27cf94d Mon Sep 17 00:00:00 2001 | ||
2 | From: Larry Finger <Larry.Finger@lwfinger.net> | ||
3 | Date: Mon, 25 Jun 2012 18:01:12 -0500 | ||
4 | Subject: [PATCH 08/49] rtlwifi: rtl8192cu: New USB IDs | ||
5 | |||
6 | commit f63d7dabd5da9ef41f28f6d69b29bc084db0ca5a upstream. | ||
7 | |||
8 | The latest Realtek driver for the RTL8188CU and RTL8192CU chips adds three | ||
9 | new USB IDs. | ||
10 | |||
11 | Reported-by: Xose Vazquez Perez <xose.vazquez@gmail.com> | ||
12 | Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> | ||
13 | Signed-off-by: John W. Linville <linville@tuxdriver.com> | ||
14 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
15 | --- | ||
16 | drivers/net/wireless/rtlwifi/rtl8192cu/sw.c | 3 +++ | ||
17 | 1 file changed, 3 insertions(+) | ||
18 | |||
19 | diff --git a/drivers/net/wireless/rtlwifi/rtl8192cu/sw.c b/drivers/net/wireless/rtlwifi/rtl8192cu/sw.c | ||
20 | index 94a3e17..0302148 100644 | ||
21 | --- a/drivers/net/wireless/rtlwifi/rtl8192cu/sw.c | ||
22 | +++ b/drivers/net/wireless/rtlwifi/rtl8192cu/sw.c | ||
23 | @@ -311,9 +311,11 @@ static struct usb_device_id rtl8192c_usb_ids[] = { | ||
24 | {RTL_USB_DEVICE(0x07b8, 0x8188, rtl92cu_hal_cfg)}, /*Abocom - Abocom*/ | ||
25 | {RTL_USB_DEVICE(0x07b8, 0x8189, rtl92cu_hal_cfg)}, /*Funai - Abocom*/ | ||
26 | {RTL_USB_DEVICE(0x0846, 0x9041, rtl92cu_hal_cfg)}, /*NetGear WNA1000M*/ | ||
27 | + {RTL_USB_DEVICE(0x0bda, 0x5088, rtl92cu_hal_cfg)}, /*Thinkware-CC&C*/ | ||
28 | {RTL_USB_DEVICE(0x0df6, 0x0052, rtl92cu_hal_cfg)}, /*Sitecom - Edimax*/ | ||
29 | {RTL_USB_DEVICE(0x0df6, 0x005c, rtl92cu_hal_cfg)}, /*Sitecom - Edimax*/ | ||
30 | {RTL_USB_DEVICE(0x0eb0, 0x9071, rtl92cu_hal_cfg)}, /*NO Brand - Etop*/ | ||
31 | + {RTL_USB_DEVICE(0x4856, 0x0091, rtl92cu_hal_cfg)}, /*NetweeN - Feixun*/ | ||
32 | /* HP - Lite-On ,8188CUS Slim Combo */ | ||
33 | {RTL_USB_DEVICE(0x103c, 0x1629, rtl92cu_hal_cfg)}, | ||
34 | {RTL_USB_DEVICE(0x13d3, 0x3357, rtl92cu_hal_cfg)}, /* AzureWave */ | ||
35 | @@ -355,6 +357,7 @@ static struct usb_device_id rtl8192c_usb_ids[] = { | ||
36 | {RTL_USB_DEVICE(0x07b8, 0x8178, rtl92cu_hal_cfg)}, /*Funai -Abocom*/ | ||
37 | {RTL_USB_DEVICE(0x0846, 0x9021, rtl92cu_hal_cfg)}, /*Netgear-Sercomm*/ | ||
38 | {RTL_USB_DEVICE(0x0b05, 0x17ab, rtl92cu_hal_cfg)}, /*ASUS-Edimax*/ | ||
39 | + {RTL_USB_DEVICE(0x0bda, 0x8186, rtl92cu_hal_cfg)}, /*Realtek 92CE-VAU*/ | ||
40 | {RTL_USB_DEVICE(0x0df6, 0x0061, rtl92cu_hal_cfg)}, /*Sitecom-Edimax*/ | ||
41 | {RTL_USB_DEVICE(0x0e66, 0x0019, rtl92cu_hal_cfg)}, /*Hawking-Edimax*/ | ||
42 | {RTL_USB_DEVICE(0x2001, 0x3307, rtl92cu_hal_cfg)}, /*D-Link-Cameo*/ | ||
43 | -- | ||
44 | 1.7.10 | ||
45 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0009-ath9k-enable-serialize_regmode-for-non-PCIE-AR9287.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0009-ath9k-enable-serialize_regmode-for-non-PCIE-AR9287.patch new file mode 100644 index 00000000..383dda2c --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0009-ath9k-enable-serialize_regmode-for-non-PCIE-AR9287.patch | |||
@@ -0,0 +1,34 @@ | |||
1 | From f65b74252f667d75391a86a6dee82aefb0e9b983 Mon Sep 17 00:00:00 2001 | ||
2 | From: Panayiotis Karabassis <panayk@gmail.com> | ||
3 | Date: Tue, 26 Jun 2012 23:37:17 +0300 | ||
4 | Subject: [PATCH 09/49] ath9k: enable serialize_regmode for non-PCIE AR9287 | ||
5 | |||
6 | commit 7508b657967cf664b5aa0f6367d05016e7e3bc2a upstream. | ||
7 | |||
8 | https://bugzilla.kernel.org/show_bug.cgi?id=42903 | ||
9 | |||
10 | Based on the work of <fynivx@gmail.com> | ||
11 | |||
12 | Signed-off-by: Panayiotis Karabassis <panayk@gmail.com> | ||
13 | Signed-off-by: John W. Linville <linville@tuxdriver.com> | ||
14 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
15 | --- | ||
16 | drivers/net/wireless/ath/ath9k/hw.c | 2 +- | ||
17 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
18 | |||
19 | diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c | ||
20 | index 6973620..7f97164 100644 | ||
21 | --- a/drivers/net/wireless/ath/ath9k/hw.c | ||
22 | +++ b/drivers/net/wireless/ath/ath9k/hw.c | ||
23 | @@ -557,7 +557,7 @@ static int __ath9k_hw_init(struct ath_hw *ah) | ||
24 | |||
25 | if (ah->config.serialize_regmode == SER_REG_MODE_AUTO) { | ||
26 | if (ah->hw_version.macVersion == AR_SREV_VERSION_5416_PCI || | ||
27 | - ((AR_SREV_9160(ah) || AR_SREV_9280(ah)) && | ||
28 | + ((AR_SREV_9160(ah) || AR_SREV_9280(ah) || AR_SREV_9287(ah)) && | ||
29 | !ah->is_pciexpress)) { | ||
30 | ah->config.serialize_regmode = | ||
31 | SER_REG_MODE_ON; | ||
32 | -- | ||
33 | 1.7.10 | ||
34 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0010-mac80211-correct-behaviour-on-unrecognised-action-fr.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0010-mac80211-correct-behaviour-on-unrecognised-action-fr.patch new file mode 100644 index 00000000..3aafce85 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0010-mac80211-correct-behaviour-on-unrecognised-action-fr.patch | |||
@@ -0,0 +1,48 @@ | |||
1 | From 21cdc703702f7ffbf440dc29b68044ac13363078 Mon Sep 17 00:00:00 2001 | ||
2 | From: Johannes Berg <johannes.berg@intel.com> | ||
3 | Date: Wed, 27 Jun 2012 15:38:56 +0200 | ||
4 | Subject: [PATCH 10/49] mac80211: correct behaviour on unrecognised action | ||
5 | frames | ||
6 | |||
7 | commit 4b5ebccc40843104d980f0714bc86bfcd5568941 upstream. | ||
8 | |||
9 | When receiving an "individually addressed" action frame, the | ||
10 | receiver is required to return it to the sender. mac80211 | ||
11 | gets this wrong as it also returns group addressed (mcast) | ||
12 | frames to the sender. Fix this and update the reference to | ||
13 | the new 802.11 standards version since things were shuffled | ||
14 | around significantly. | ||
15 | |||
16 | Signed-off-by: Johannes Berg <johannes.berg@intel.com> | ||
17 | Signed-off-by: John W. Linville <linville@tuxdriver.com> | ||
18 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
19 | --- | ||
20 | net/mac80211/rx.c | 5 ++++- | ||
21 | 1 file changed, 4 insertions(+), 1 deletion(-) | ||
22 | |||
23 | diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c | ||
24 | index 064d20f..cda4875 100644 | ||
25 | --- a/net/mac80211/rx.c | ||
26 | +++ b/net/mac80211/rx.c | ||
27 | @@ -2389,7 +2389,7 @@ ieee80211_rx_h_action_return(struct ieee80211_rx_data *rx) | ||
28 | * frames that we didn't handle, including returning unknown | ||
29 | * ones. For all other modes we will return them to the sender, | ||
30 | * setting the 0x80 bit in the action category, as required by | ||
31 | - * 802.11-2007 7.3.1.11. | ||
32 | + * 802.11-2012 9.24.4. | ||
33 | * Newer versions of hostapd shall also use the management frame | ||
34 | * registration mechanisms, but older ones still use cooked | ||
35 | * monitor interfaces so push all frames there. | ||
36 | @@ -2399,6 +2399,9 @@ ieee80211_rx_h_action_return(struct ieee80211_rx_data *rx) | ||
37 | sdata->vif.type == NL80211_IFTYPE_AP_VLAN)) | ||
38 | return RX_DROP_MONITOR; | ||
39 | |||
40 | + if (is_multicast_ether_addr(mgmt->da)) | ||
41 | + return RX_DROP_MONITOR; | ||
42 | + | ||
43 | /* do not return rejected action frames */ | ||
44 | if (mgmt->u.action.category & 0x80) | ||
45 | return RX_DROP_UNUSABLE; | ||
46 | -- | ||
47 | 1.7.10 | ||
48 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0011-ASoC-tlv320aic3x-Fix-codec-pll-configure-bug.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0011-ASoC-tlv320aic3x-Fix-codec-pll-configure-bug.patch new file mode 100644 index 00000000..29139a1b --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0011-ASoC-tlv320aic3x-Fix-codec-pll-configure-bug.patch | |||
@@ -0,0 +1,62 @@ | |||
1 | From 8ba42ffb182648185f9f5f924d26cf97b6be721f Mon Sep 17 00:00:00 2001 | ||
2 | From: "Hebbar, Gururaja" <gururaja.hebbar@ti.com> | ||
3 | Date: Tue, 26 Jun 2012 19:25:11 +0530 | ||
4 | Subject: [PATCH 11/49] ASoC: tlv320aic3x: Fix codec pll configure bug | ||
5 | |||
6 | commit c9fe573a6584034670c1a55ee8162d623519cbbf upstream. | ||
7 | |||
8 | In sound/soc/codecs/tlv320aic3x.c | ||
9 | |||
10 | data = snd_soc_read(codec, AIC3X_PLL_PROGA_REG); | ||
11 | snd_soc_write(codec, AIC3X_PLL_PROGA_REG, | ||
12 | data | (pll_p << PLLP_SHIFT)); | ||
13 | |||
14 | In the above code, pll-p value is OR'ed with previous value without | ||
15 | clearing it. Bug is not seen if pll-p value doesn't change across | ||
16 | Sampling frequency. | ||
17 | |||
18 | However on some platforms (like AM335x EVM-SK), pll-p may have different | ||
19 | values across different sampling frequencies. In such case, above code | ||
20 | configures the pll with a wrong value. | ||
21 | Because of this bug, when a audio stream is played with pll value | ||
22 | different from previous stream, audio is heard as differently(like its | ||
23 | stretched). | ||
24 | |||
25 | Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com> | ||
26 | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> | ||
27 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
28 | --- | ||
29 | sound/soc/codecs/tlv320aic3x.c | 4 +--- | ||
30 | sound/soc/codecs/tlv320aic3x.h | 1 + | ||
31 | 2 files changed, 2 insertions(+), 3 deletions(-) | ||
32 | |||
33 | diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c | ||
34 | index d0dbac1..cdb473c 100644 | ||
35 | --- a/sound/soc/codecs/tlv320aic3x.c | ||
36 | +++ b/sound/soc/codecs/tlv320aic3x.c | ||
37 | @@ -963,9 +963,7 @@ static int aic3x_hw_params(struct snd_pcm_substream *substream, | ||
38 | } | ||
39 | |||
40 | found: | ||
41 | - data = snd_soc_read(codec, AIC3X_PLL_PROGA_REG); | ||
42 | - snd_soc_write(codec, AIC3X_PLL_PROGA_REG, | ||
43 | - data | (pll_p << PLLP_SHIFT)); | ||
44 | + snd_soc_update_bits(codec, AIC3X_PLL_PROGA_REG, PLLP_MASK, pll_p); | ||
45 | snd_soc_write(codec, AIC3X_OVRF_STATUS_AND_PLLR_REG, | ||
46 | pll_r << PLLR_SHIFT); | ||
47 | snd_soc_write(codec, AIC3X_PLL_PROGB_REG, pll_j << PLLJ_SHIFT); | ||
48 | diff --git a/sound/soc/codecs/tlv320aic3x.h b/sound/soc/codecs/tlv320aic3x.h | ||
49 | index 06a1978..16d9999 100644 | ||
50 | --- a/sound/soc/codecs/tlv320aic3x.h | ||
51 | +++ b/sound/soc/codecs/tlv320aic3x.h | ||
52 | @@ -166,6 +166,7 @@ | ||
53 | |||
54 | /* PLL registers bitfields */ | ||
55 | #define PLLP_SHIFT 0 | ||
56 | +#define PLLP_MASK 7 | ||
57 | #define PLLQ_SHIFT 3 | ||
58 | #define PLLR_SHIFT 0 | ||
59 | #define PLLJ_SHIFT 2 | ||
60 | -- | ||
61 | 1.7.10 | ||
62 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0012-powerpc-xmon-Use-cpumask-iterator-to-avoid-warning.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0012-powerpc-xmon-Use-cpumask-iterator-to-avoid-warning.patch new file mode 100644 index 00000000..217ab5d6 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0012-powerpc-xmon-Use-cpumask-iterator-to-avoid-warning.patch | |||
@@ -0,0 +1,56 @@ | |||
1 | From 6d7506b0391c86ac347dce94f2c4642ce126cf45 Mon Sep 17 00:00:00 2001 | ||
2 | From: Anton Blanchard <anton@samba.org> | ||
3 | Date: Thu, 28 Jun 2012 19:28:57 +0000 | ||
4 | Subject: [PATCH 12/49] powerpc/xmon: Use cpumask iterator to avoid warning | ||
5 | |||
6 | commit bc1d7702910c7c7e88eb60b58429dbfe293683ce upstream. | ||
7 | |||
8 | We have a bug report where the kernel hits a warning in the cpumask | ||
9 | code: | ||
10 | |||
11 | WARNING: at include/linux/cpumask.h:107 | ||
12 | |||
13 | Which is: | ||
14 | WARN_ON_ONCE(cpu >= nr_cpumask_bits); | ||
15 | |||
16 | The backtrace is: | ||
17 | cpu_cmd | ||
18 | cmds | ||
19 | xmon_core | ||
20 | xmon | ||
21 | die | ||
22 | |||
23 | xmon is iterating through 0 to NR_CPUS. I'm not sure why we are still | ||
24 | open coding this but iterating above nr_cpu_ids is definitely a bug. | ||
25 | |||
26 | This patch iterates through all possible cpus, in case we issue a | ||
27 | system reset and CPUs in an offline state call in. | ||
28 | |||
29 | Perhaps the old code was trying to handle CPUs that were in the | ||
30 | partition but were never started (eg kexec into a kernel with an | ||
31 | nr_cpus= boot option). They are going to die way before we get into | ||
32 | xmon since we haven't set any kernel state up for them. | ||
33 | |||
34 | Signed-off-by: Anton Blanchard <anton@samba.org> | ||
35 | Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> | ||
36 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
37 | --- | ||
38 | arch/powerpc/xmon/xmon.c | 2 +- | ||
39 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
40 | |||
41 | diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c | ||
42 | index 03a217a..b7e63d8 100644 | ||
43 | --- a/arch/powerpc/xmon/xmon.c | ||
44 | +++ b/arch/powerpc/xmon/xmon.c | ||
45 | @@ -975,7 +975,7 @@ static int cpu_cmd(void) | ||
46 | /* print cpus waiting or in xmon */ | ||
47 | printf("cpus stopped:"); | ||
48 | count = 0; | ||
49 | - for (cpu = 0; cpu < NR_CPUS; ++cpu) { | ||
50 | + for_each_possible_cpu(cpu) { | ||
51 | if (cpumask_test_cpu(cpu, &cpus_in_xmon)) { | ||
52 | if (count == 0) | ||
53 | printf(" %x", cpu); | ||
54 | -- | ||
55 | 1.7.10 | ||
56 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0013-powerpc-kvm-sldi-should-be-sld.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0013-powerpc-kvm-sldi-should-be-sld.patch new file mode 100644 index 00000000..9f77ca50 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0013-powerpc-kvm-sldi-should-be-sld.patch | |||
@@ -0,0 +1,40 @@ | |||
1 | From af803001738a2e5609dbbe767f8f7a61bef3cf9c Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Neuling <mikey@neuling.org> | ||
3 | Date: Mon, 25 Jun 2012 13:33:11 +0000 | ||
4 | Subject: [PATCH 13/49] powerpc/kvm: sldi should be sld | ||
5 | |||
6 | commit 2f584a146a2965b82fce89b8d2f95dc5cfe468d0 upstream. | ||
7 | |||
8 | Since we are taking a registers, this should never have been an sldi. | ||
9 | Talking to paulus offline, this is the correct fix. | ||
10 | |||
11 | Was introduced by: | ||
12 | commit 19ccb76a1938ab364a412253daec64613acbf3df | ||
13 | Author: Paul Mackerras <paulus@samba.org> | ||
14 | Date: Sat Jul 23 17:42:46 2011 +1000 | ||
15 | |||
16 | Talking to paulus, this shouldn't be a literal. | ||
17 | |||
18 | Signed-off-by: Michael Neuling <mikey@neuling.org> | ||
19 | Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> | ||
20 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
21 | --- | ||
22 | arch/powerpc/kvm/book3s_hv_rmhandlers.S | 2 +- | ||
23 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
24 | |||
25 | diff --git a/arch/powerpc/kvm/book3s_hv_rmhandlers.S b/arch/powerpc/kvm/book3s_hv_rmhandlers.S | ||
26 | index 44d8829..5e8dc08 100644 | ||
27 | --- a/arch/powerpc/kvm/book3s_hv_rmhandlers.S | ||
28 | +++ b/arch/powerpc/kvm/book3s_hv_rmhandlers.S | ||
29 | @@ -763,7 +763,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_ARCH_201) | ||
30 | lwz r3,VCORE_NAPPING_THREADS(r5) | ||
31 | lwz r4,VCPU_PTID(r9) | ||
32 | li r0,1 | ||
33 | - sldi r0,r0,r4 | ||
34 | + sld r0,r0,r4 | ||
35 | andc. r3,r3,r0 /* no sense IPI'ing ourselves */ | ||
36 | beq 43f | ||
37 | mulli r4,r4,PACA_SIZE /* get paca for thread 0 */ | ||
38 | -- | ||
39 | 1.7.10 | ||
40 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0014-md-raid10-Don-t-try-to-recovery-unmatched-and-unused.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0014-md-raid10-Don-t-try-to-recovery-unmatched-and-unused.patch new file mode 100644 index 00000000..e6c64f5d --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0014-md-raid10-Don-t-try-to-recovery-unmatched-and-unused.patch | |||
@@ -0,0 +1,50 @@ | |||
1 | From 8002ce8e1b7a0ef6b60567ed63ed12fe6780b98a Mon Sep 17 00:00:00 2001 | ||
2 | From: NeilBrown <neilb@suse.de> | ||
3 | Date: Tue, 3 Jul 2012 10:37:30 +1000 | ||
4 | Subject: [PATCH 14/49] md/raid10: Don't try to recovery unmatched (and | ||
5 | unused) chunks. | ||
6 | |||
7 | commit fc448a18ae6219af9a73257b1fbcd009efab4a81 upstream. | ||
8 | |||
9 | If a RAID10 has an odd number of chunks - as might happen when there | ||
10 | are an odd number of devices - the last chunk has no pair and so is | ||
11 | not mirrored. We don't store data there, but when recovering the last | ||
12 | device in an array we retry to recover that last chunk from a | ||
13 | non-existent location. This results in an error, and the recovery | ||
14 | aborts. | ||
15 | |||
16 | When we get to that last chunk we should just stop - there is nothing | ||
17 | more to do anyway. | ||
18 | |||
19 | This bug has been present since the introduction of RAID10, so the | ||
20 | patch is appropriate for any -stable kernel. | ||
21 | |||
22 | Reported-by: Christian Balzer <chibi@gol.com> | ||
23 | Tested-by: Christian Balzer <chibi@gol.com> | ||
24 | Signed-off-by: NeilBrown <neilb@suse.de> | ||
25 | [bwh: Backported to 3.2: adjust context] | ||
26 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
27 | --- | ||
28 | drivers/md/raid10.c | 6 ++++++ | ||
29 | 1 file changed, 6 insertions(+) | ||
30 | |||
31 | diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c | ||
32 | index b219449..3b67566 100644 | ||
33 | --- a/drivers/md/raid10.c | ||
34 | +++ b/drivers/md/raid10.c | ||
35 | @@ -2436,6 +2436,12 @@ static sector_t sync_request(struct mddev *mddev, sector_t sector_nr, | ||
36 | /* want to reconstruct this device */ | ||
37 | rb2 = r10_bio; | ||
38 | sect = raid10_find_virt(conf, sector_nr, i); | ||
39 | + if (sect >= mddev->resync_max_sectors) { | ||
40 | + /* last stripe is not complete - don't | ||
41 | + * try to recover this sector. | ||
42 | + */ | ||
43 | + continue; | ||
44 | + } | ||
45 | /* Unless we are doing a full sync, we only need | ||
46 | * to recover the block if it is set in the bitmap | ||
47 | */ | ||
48 | -- | ||
49 | 1.7.10 | ||
50 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0015-md-raid5-Do-not-add-data_offset-before-call-to-is_ba.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0015-md-raid5-Do-not-add-data_offset-before-call-to-is_ba.patch new file mode 100644 index 00000000..953b3b65 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0015-md-raid5-Do-not-add-data_offset-before-call-to-is_ba.patch | |||
@@ -0,0 +1,54 @@ | |||
1 | From 2afec61845b4c0bed64c257a0acc2612e1862885 Mon Sep 17 00:00:00 2001 | ||
2 | From: majianpeng <majianpeng@gmail.com> | ||
3 | Date: Tue, 12 Jun 2012 08:31:10 +0800 | ||
4 | Subject: [PATCH 15/49] md/raid5: Do not add data_offset before call to | ||
5 | is_badblock | ||
6 | |||
7 | commit 6c0544e255dd6582a9899572e120fb55d9f672a4 upstream. | ||
8 | |||
9 | In chunk_aligned_read() we are adding data_offset before calling | ||
10 | is_badblock. But is_badblock also adds data_offset, so that is bad. | ||
11 | |||
12 | So move the addition of data_offset to after the call to | ||
13 | is_badblock. | ||
14 | |||
15 | This bug was introduced by commit 31c176ecdf3563140e639 | ||
16 | md/raid5: avoid reading from known bad blocks. | ||
17 | which first appeared in 3.0. So that patch is suitable for any | ||
18 | -stable kernel from 3.0.y onwards. However it will need minor | ||
19 | revision for most of those (as the comment didn't appear until | ||
20 | recently). | ||
21 | |||
22 | Signed-off-by: majianpeng <majianpeng@gmail.com> | ||
23 | Signed-off-by: NeilBrown <neilb@suse.de> | ||
24 | [bwh: Backported to 3.2: ignored missing comment] | ||
25 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
26 | --- | ||
27 | drivers/md/raid5.c | 4 +++- | ||
28 | 1 file changed, 3 insertions(+), 1 deletion(-) | ||
29 | |||
30 | diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c | ||
31 | index 858fdbb..d423c7e 100644 | ||
32 | --- a/drivers/md/raid5.c | ||
33 | +++ b/drivers/md/raid5.c | ||
34 | @@ -3621,7 +3621,6 @@ static int chunk_aligned_read(struct mddev *mddev, struct bio * raid_bio) | ||
35 | raid_bio->bi_next = (void*)rdev; | ||
36 | align_bi->bi_bdev = rdev->bdev; | ||
37 | align_bi->bi_flags &= ~(1 << BIO_SEG_VALID); | ||
38 | - align_bi->bi_sector += rdev->data_offset; | ||
39 | |||
40 | if (!bio_fits_rdev(align_bi) || | ||
41 | is_badblock(rdev, align_bi->bi_sector, align_bi->bi_size>>9, | ||
42 | @@ -3632,6 +3631,9 @@ static int chunk_aligned_read(struct mddev *mddev, struct bio * raid_bio) | ||
43 | return 0; | ||
44 | } | ||
45 | |||
46 | + /* No reshape active, so we can trust rdev->data_offset */ | ||
47 | + align_bi->bi_sector += rdev->data_offset; | ||
48 | + | ||
49 | spin_lock_irq(&conf->device_lock); | ||
50 | wait_event_lock_irq(conf->wait_for_stripe, | ||
51 | conf->quiesce == 0, | ||
52 | -- | ||
53 | 1.7.10 | ||
54 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0016-md-raid5-In-ops_run_io-inc-nr_pending-before-calling.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0016-md-raid5-In-ops_run_io-inc-nr_pending-before-calling.patch new file mode 100644 index 00000000..493b6beb --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0016-md-raid5-In-ops_run_io-inc-nr_pending-before-calling.patch | |||
@@ -0,0 +1,45 @@ | |||
1 | From 1e6a8f24c1ff905a8bae6dd5222bc128eb60f886 Mon Sep 17 00:00:00 2001 | ||
2 | From: majianpeng <majianpeng@gmail.com> | ||
3 | Date: Tue, 3 Jul 2012 12:11:54 +1000 | ||
4 | Subject: [PATCH 16/49] md/raid5: In ops_run_io, inc nr_pending before calling | ||
5 | md_wait_for_blocked_rdev | ||
6 | |||
7 | commit 1850753d2e6d9ca7856581ca5d3cf09521e6a5d7 upstream. | ||
8 | |||
9 | In ops_run_io(), the call to md_wait_for_blocked_rdev will decrement | ||
10 | nr_pending so we lose the reference we hold on the rdev. | ||
11 | So atomic_inc it first to maintain the reference. | ||
12 | |||
13 | This bug was introduced by commit 73e92e51b7969ef5477d | ||
14 | md/raid5. Don't write to known bad block on doubtful devices. | ||
15 | |||
16 | which appeared in 3.0, so patch is suitable for stable kernels since | ||
17 | then. | ||
18 | |||
19 | Signed-off-by: majianpeng <majianpeng@gmail.com> | ||
20 | Signed-off-by: NeilBrown <neilb@suse.de> | ||
21 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
22 | --- | ||
23 | drivers/md/raid5.c | 6 ++++++ | ||
24 | 1 file changed, 6 insertions(+) | ||
25 | |||
26 | diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c | ||
27 | index d423c7e..6ba4954 100644 | ||
28 | --- a/drivers/md/raid5.c | ||
29 | +++ b/drivers/md/raid5.c | ||
30 | @@ -542,6 +542,12 @@ static void ops_run_io(struct stripe_head *sh, struct stripe_head_state *s) | ||
31 | * a chance*/ | ||
32 | md_check_recovery(conf->mddev); | ||
33 | } | ||
34 | + /* | ||
35 | + * Because md_wait_for_blocked_rdev | ||
36 | + * will dec nr_pending, we must | ||
37 | + * increment it first. | ||
38 | + */ | ||
39 | + atomic_inc(&rdev->nr_pending); | ||
40 | md_wait_for_blocked_rdev(rdev, conf->mddev); | ||
41 | } else { | ||
42 | /* Acknowledged bad block - skip the write */ | ||
43 | -- | ||
44 | 1.7.10 | ||
45 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0017-md-raid10-fix-failure-when-trying-to-repair-a-read-e.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0017-md-raid10-fix-failure-when-trying-to-repair-a-read-e.patch new file mode 100644 index 00000000..1f96efac --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0017-md-raid10-fix-failure-when-trying-to-repair-a-read-e.patch | |||
@@ -0,0 +1,61 @@ | |||
1 | From 4c1df6ee8b798576a23b25ab391cd7f3b5835bcd Mon Sep 17 00:00:00 2001 | ||
2 | From: NeilBrown <neilb@suse.de> | ||
3 | Date: Tue, 3 Jul 2012 15:55:33 +1000 | ||
4 | Subject: [PATCH 17/49] md/raid10: fix failure when trying to repair a read | ||
5 | error. | ||
6 | |||
7 | commit 055d3747dbf00ce85c6872ecca4d466638e80c22 upstream. | ||
8 | |||
9 | commit 58c54fcca3bac5bf9290cfed31c76e4c4bfbabaf | ||
10 | md/raid10: handle further errors during fix_read_error better. | ||
11 | |||
12 | in 3.1 added "r10_sync_page_io" which takes an IO size in sectors. | ||
13 | But we were passing the IO size in bytes!!! | ||
14 | This resulting in bio_add_page failing, and empty request being sent | ||
15 | down, and a consequent BUG_ON in scsi_lib. | ||
16 | |||
17 | [fix missing space in error message at same time] | ||
18 | |||
19 | This fix is suitable for 3.1.y and later. | ||
20 | |||
21 | Reported-by: Christian Balzer <chibi@gol.com> | ||
22 | Signed-off-by: NeilBrown <neilb@suse.de> | ||
23 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
24 | --- | ||
25 | drivers/md/raid10.c | 6 +++--- | ||
26 | 1 file changed, 3 insertions(+), 3 deletions(-) | ||
27 | |||
28 | diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c | ||
29 | index 3b67566..7a9eef6 100644 | ||
30 | --- a/drivers/md/raid10.c | ||
31 | +++ b/drivers/md/raid10.c | ||
32 | @@ -1919,7 +1919,7 @@ static void fix_read_error(struct r10conf *conf, struct mddev *mddev, struct r10 | ||
33 | if (r10_sync_page_io(rdev, | ||
34 | r10_bio->devs[sl].addr + | ||
35 | sect, | ||
36 | - s<<9, conf->tmppage, WRITE) | ||
37 | + s, conf->tmppage, WRITE) | ||
38 | == 0) { | ||
39 | /* Well, this device is dead */ | ||
40 | printk(KERN_NOTICE | ||
41 | @@ -1956,7 +1956,7 @@ static void fix_read_error(struct r10conf *conf, struct mddev *mddev, struct r10 | ||
42 | switch (r10_sync_page_io(rdev, | ||
43 | r10_bio->devs[sl].addr + | ||
44 | sect, | ||
45 | - s<<9, conf->tmppage, | ||
46 | + s, conf->tmppage, | ||
47 | READ)) { | ||
48 | case 0: | ||
49 | /* Well, this device is dead */ | ||
50 | @@ -2119,7 +2119,7 @@ read_more: | ||
51 | rdev = conf->mirrors[mirror].rdev; | ||
52 | printk_ratelimited( | ||
53 | KERN_ERR | ||
54 | - "md/raid10:%s: %s: redirecting" | ||
55 | + "md/raid10:%s: %s: redirecting " | ||
56 | "sector %llu to another mirror\n", | ||
57 | mdname(mddev), | ||
58 | bdevname(rdev->bdev, b), | ||
59 | -- | ||
60 | 1.7.10 | ||
61 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0018-drm-i915-kick-any-firmware-framebuffers-before-claim.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0018-drm-i915-kick-any-firmware-framebuffers-before-claim.patch new file mode 100644 index 00000000..ab9e976d --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0018-drm-i915-kick-any-firmware-framebuffers-before-claim.patch | |||
@@ -0,0 +1,118 @@ | |||
1 | From 3426f0a75320d87b4fd5a63263ff4f1a7574fd90 Mon Sep 17 00:00:00 2001 | ||
2 | From: Daniel Vetter <daniel.vetter@ffwll.ch> | ||
3 | Date: Sun, 1 Jul 2012 17:09:42 +0200 | ||
4 | Subject: [PATCH 18/49] drm/i915: kick any firmware framebuffers before | ||
5 | claiming the gtt | ||
6 | |||
7 | commit 9f846a16d213523fbe6daea17e20df6b8ac5a1e5 upstream. | ||
8 | |||
9 | Especially vesafb likes to map everything as uc- (yikes), and if that | ||
10 | mapping hangs around still while we try to map the gtt as wc the | ||
11 | kernel will downgrade our request to uc-, resulting in abyssal | ||
12 | performance. | ||
13 | |||
14 | Unfortunately we can't do this as early as readon does (i.e. as the | ||
15 | first thing we do when initializing the hw) because our fb/mmio space | ||
16 | region moves around on a per-gen basis. So I've had to move it below | ||
17 | the gtt initialization, but that seems to work, too. The important | ||
18 | thing is that we do this before we set up the gtt wc mapping. | ||
19 | |||
20 | Now an altogether different question is why people compile their | ||
21 | kernels with vesafb enabled, but I guess making things just work isn't | ||
22 | bad per se ... | ||
23 | |||
24 | v2: | ||
25 | - s/radeondrmfb/inteldrmfb/ | ||
26 | - fix up error handling | ||
27 | |||
28 | v3: Kill #ifdef X86, this is Intel after all. Noticed by Ben Widawsky. | ||
29 | |||
30 | v4: Jani Nikula complained about the pointless bool primary | ||
31 | initialization. | ||
32 | |||
33 | v5: Don't oops if we can't allocate, noticed by Chris Wilson. | ||
34 | |||
35 | v6: Resolve conflicts with agp rework and fixup whitespace. | ||
36 | |||
37 | This is commit e188719a2891f01b3100d in drm-next. | ||
38 | |||
39 | Backport to 3.5 -fixes queue requested by Dave Airlie - due to grub | ||
40 | using vesa on fedora their initrd seems to load vesafb before loading | ||
41 | the real kms driver. So tons more people actually experience a | ||
42 | dead-slow gpu. Hence also the Cc: stable. | ||
43 | |||
44 | Reported-and-tested-by: "Kilarski, Bernard R" <bernard.r.kilarski@intel.com> | ||
45 | Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> | ||
46 | Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> | ||
47 | Signed-off-by: Dave Airlie <airlied@redhat.com> | ||
48 | [bwh: Backported to 3.2: adjust context] | ||
49 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
50 | --- | ||
51 | drivers/gpu/drm/i915/i915_dma.c | 37 ++++++++++++++++++++++++++++++------- | ||
52 | 1 file changed, 30 insertions(+), 7 deletions(-) | ||
53 | |||
54 | diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c | ||
55 | index c4da951..ca67338 100644 | ||
56 | --- a/drivers/gpu/drm/i915/i915_dma.c | ||
57 | +++ b/drivers/gpu/drm/i915/i915_dma.c | ||
58 | @@ -1890,6 +1890,27 @@ ips_ping_for_i915_load(void) | ||
59 | } | ||
60 | } | ||
61 | |||
62 | +static void i915_kick_out_firmware_fb(struct drm_i915_private *dev_priv) | ||
63 | +{ | ||
64 | + struct apertures_struct *ap; | ||
65 | + struct pci_dev *pdev = dev_priv->dev->pdev; | ||
66 | + bool primary; | ||
67 | + | ||
68 | + ap = alloc_apertures(1); | ||
69 | + if (!ap) | ||
70 | + return; | ||
71 | + | ||
72 | + ap->ranges[0].base = dev_priv->dev->agp->base; | ||
73 | + ap->ranges[0].size = | ||
74 | + dev_priv->mm.gtt->gtt_mappable_entries << PAGE_SHIFT; | ||
75 | + primary = | ||
76 | + pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; | ||
77 | + | ||
78 | + remove_conflicting_framebuffers(ap, "inteldrmfb", primary); | ||
79 | + | ||
80 | + kfree(ap); | ||
81 | +} | ||
82 | + | ||
83 | /** | ||
84 | * i915_driver_load - setup chip and create an initial config | ||
85 | * @dev: DRM device | ||
86 | @@ -1927,6 +1948,15 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) | ||
87 | goto free_priv; | ||
88 | } | ||
89 | |||
90 | + dev_priv->mm.gtt = intel_gtt_get(); | ||
91 | + if (!dev_priv->mm.gtt) { | ||
92 | + DRM_ERROR("Failed to initialize GTT\n"); | ||
93 | + ret = -ENODEV; | ||
94 | + goto put_bridge; | ||
95 | + } | ||
96 | + | ||
97 | + i915_kick_out_firmware_fb(dev_priv); | ||
98 | + | ||
99 | /* overlay on gen2 is broken and can't address above 1G */ | ||
100 | if (IS_GEN2(dev)) | ||
101 | dma_set_coherent_mask(&dev->pdev->dev, DMA_BIT_MASK(30)); | ||
102 | @@ -1950,13 +1980,6 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) | ||
103 | goto put_bridge; | ||
104 | } | ||
105 | |||
106 | - dev_priv->mm.gtt = intel_gtt_get(); | ||
107 | - if (!dev_priv->mm.gtt) { | ||
108 | - DRM_ERROR("Failed to initialize GTT\n"); | ||
109 | - ret = -ENODEV; | ||
110 | - goto out_rmmap; | ||
111 | - } | ||
112 | - | ||
113 | agp_size = dev_priv->mm.gtt->gtt_mappable_entries << PAGE_SHIFT; | ||
114 | |||
115 | dev_priv->mm.gtt_mapping = | ||
116 | -- | ||
117 | 1.7.10 | ||
118 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0019-dm-persistent-data-fix-shadow_info_leak-on-dm_tm_des.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0019-dm-persistent-data-fix-shadow_info_leak-on-dm_tm_des.patch new file mode 100644 index 00000000..9ac2fb56 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0019-dm-persistent-data-fix-shadow_info_leak-on-dm_tm_des.patch | |||
@@ -0,0 +1,37 @@ | |||
1 | From 97bbf28874e2f7467c0d05db53041e556488087a Mon Sep 17 00:00:00 2001 | ||
2 | From: Mike Snitzer <snitzer@redhat.com> | ||
3 | Date: Tue, 3 Jul 2012 12:55:33 +0100 | ||
4 | Subject: [PATCH 19/49] dm persistent data: fix shadow_info_leak on | ||
5 | dm_tm_destroy | ||
6 | |||
7 | commit 25d7cd6faa7ae6ed2565617c3ee2500ccb8a9f7f upstream. | ||
8 | |||
9 | Cleanup the shadow table before destroying the transaction manager. | ||
10 | |||
11 | Reference: leak was identified with kmemleak when running | ||
12 | test_discard_random_sectors in the thinp-test-suite. | ||
13 | |||
14 | Signed-off-by: Mike Snitzer <snitzer@redhat.com> | ||
15 | Signed-off-by: Alasdair G Kergon <agk@redhat.com> | ||
16 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
17 | --- | ||
18 | drivers/md/persistent-data/dm-transaction-manager.c | 3 +++ | ||
19 | 1 file changed, 3 insertions(+) | ||
20 | |||
21 | diff --git a/drivers/md/persistent-data/dm-transaction-manager.c b/drivers/md/persistent-data/dm-transaction-manager.c | ||
22 | index 6f8d387..e5902d1 100644 | ||
23 | --- a/drivers/md/persistent-data/dm-transaction-manager.c | ||
24 | +++ b/drivers/md/persistent-data/dm-transaction-manager.c | ||
25 | @@ -138,6 +138,9 @@ EXPORT_SYMBOL_GPL(dm_tm_create_non_blocking_clone); | ||
26 | |||
27 | void dm_tm_destroy(struct dm_transaction_manager *tm) | ||
28 | { | ||
29 | + if (!tm->is_clone) | ||
30 | + wipe_shadow_table(tm); | ||
31 | + | ||
32 | kfree(tm); | ||
33 | } | ||
34 | EXPORT_SYMBOL_GPL(dm_tm_destroy); | ||
35 | -- | ||
36 | 1.7.10 | ||
37 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0020-dm-persistent-data-handle-space-map-checker-creation.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0020-dm-persistent-data-handle-space-map-checker-creation.patch new file mode 100644 index 00000000..f186538d --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0020-dm-persistent-data-handle-space-map-checker-creation.patch | |||
@@ -0,0 +1,182 @@ | |||
1 | From 5ac62b535b410eb5bfbb5457703fd42f5b517088 Mon Sep 17 00:00:00 2001 | ||
2 | From: Mike Snitzer <snitzer@redhat.com> | ||
3 | Date: Tue, 3 Jul 2012 12:55:35 +0100 | ||
4 | Subject: [PATCH 20/49] dm persistent data: handle space map checker creation | ||
5 | failure | ||
6 | |||
7 | commit 62662303e7f590fdfbb0070ab820a0ad4267c119 upstream. | ||
8 | |||
9 | If CONFIG_DM_DEBUG_SPACE_MAPS is enabled and dm_sm_checker_create() | ||
10 | fails, dm_tm_create_internal() would still return success even though it | ||
11 | cleaned up all resources it was supposed to have created. This will | ||
12 | lead to a kernel crash: | ||
13 | |||
14 | general protection fault: 0000 [#1] SMP DEBUG_PAGEALLOC | ||
15 | ... | ||
16 | RIP: 0010:[<ffffffff81593659>] [<ffffffff81593659>] dm_bufio_get_block_size+0x9/0x20 | ||
17 | Call Trace: | ||
18 | [<ffffffff81599bae>] dm_bm_block_size+0xe/0x10 | ||
19 | [<ffffffff8159b8b8>] sm_ll_init+0x78/0xd0 | ||
20 | [<ffffffff8159c1a6>] sm_ll_new_disk+0x16/0xa0 | ||
21 | [<ffffffff8159c98e>] dm_sm_disk_create+0xfe/0x160 | ||
22 | [<ffffffff815abf6e>] dm_pool_metadata_open+0x16e/0x6a0 | ||
23 | [<ffffffff815aa010>] pool_ctr+0x3f0/0x900 | ||
24 | [<ffffffff8158d565>] dm_table_add_target+0x195/0x450 | ||
25 | [<ffffffff815904c4>] table_load+0xe4/0x330 | ||
26 | [<ffffffff815917ea>] ctl_ioctl+0x15a/0x2c0 | ||
27 | [<ffffffff81591963>] dm_ctl_ioctl+0x13/0x20 | ||
28 | [<ffffffff8116a4f8>] do_vfs_ioctl+0x98/0x560 | ||
29 | [<ffffffff8116aa51>] sys_ioctl+0x91/0xa0 | ||
30 | [<ffffffff81869f52>] system_call_fastpath+0x16/0x1b | ||
31 | |||
32 | Fix the space map checker code to return an appropriate ERR_PTR and have | ||
33 | dm_sm_disk_create() and dm_tm_create_internal() check for it with | ||
34 | IS_ERR. | ||
35 | |||
36 | Reported-by: Vivek Goyal <vgoyal@redhat.com> | ||
37 | Signed-off-by: Mike Snitzer <snitzer@redhat.com> | ||
38 | Signed-off-by: Alasdair G Kergon <agk@redhat.com> | ||
39 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
40 | --- | ||
41 | drivers/md/persistent-data/dm-space-map-checker.c | 24 ++++++++++---------- | ||
42 | drivers/md/persistent-data/dm-space-map-disk.c | 11 ++++++++- | ||
43 | .../md/persistent-data/dm-transaction-manager.c | 8 +++++-- | ||
44 | 3 files changed, 28 insertions(+), 15 deletions(-) | ||
45 | |||
46 | diff --git a/drivers/md/persistent-data/dm-space-map-checker.c b/drivers/md/persistent-data/dm-space-map-checker.c | ||
47 | index 50ed53b..6d7c832 100644 | ||
48 | --- a/drivers/md/persistent-data/dm-space-map-checker.c | ||
49 | +++ b/drivers/md/persistent-data/dm-space-map-checker.c | ||
50 | @@ -343,25 +343,25 @@ struct dm_space_map *dm_sm_checker_create(struct dm_space_map *sm) | ||
51 | int r; | ||
52 | struct sm_checker *smc; | ||
53 | |||
54 | - if (!sm) | ||
55 | - return NULL; | ||
56 | + if (IS_ERR_OR_NULL(sm)) | ||
57 | + return ERR_PTR(-EINVAL); | ||
58 | |||
59 | smc = kmalloc(sizeof(*smc), GFP_KERNEL); | ||
60 | if (!smc) | ||
61 | - return NULL; | ||
62 | + return ERR_PTR(-ENOMEM); | ||
63 | |||
64 | memcpy(&smc->sm, &ops_, sizeof(smc->sm)); | ||
65 | r = ca_create(&smc->old_counts, sm); | ||
66 | if (r) { | ||
67 | kfree(smc); | ||
68 | - return NULL; | ||
69 | + return ERR_PTR(r); | ||
70 | } | ||
71 | |||
72 | r = ca_create(&smc->counts, sm); | ||
73 | if (r) { | ||
74 | ca_destroy(&smc->old_counts); | ||
75 | kfree(smc); | ||
76 | - return NULL; | ||
77 | + return ERR_PTR(r); | ||
78 | } | ||
79 | |||
80 | smc->real_sm = sm; | ||
81 | @@ -371,7 +371,7 @@ struct dm_space_map *dm_sm_checker_create(struct dm_space_map *sm) | ||
82 | ca_destroy(&smc->counts); | ||
83 | ca_destroy(&smc->old_counts); | ||
84 | kfree(smc); | ||
85 | - return NULL; | ||
86 | + return ERR_PTR(r); | ||
87 | } | ||
88 | |||
89 | r = ca_commit(&smc->old_counts, &smc->counts); | ||
90 | @@ -379,7 +379,7 @@ struct dm_space_map *dm_sm_checker_create(struct dm_space_map *sm) | ||
91 | ca_destroy(&smc->counts); | ||
92 | ca_destroy(&smc->old_counts); | ||
93 | kfree(smc); | ||
94 | - return NULL; | ||
95 | + return ERR_PTR(r); | ||
96 | } | ||
97 | |||
98 | return &smc->sm; | ||
99 | @@ -391,25 +391,25 @@ struct dm_space_map *dm_sm_checker_create_fresh(struct dm_space_map *sm) | ||
100 | int r; | ||
101 | struct sm_checker *smc; | ||
102 | |||
103 | - if (!sm) | ||
104 | - return NULL; | ||
105 | + if (IS_ERR_OR_NULL(sm)) | ||
106 | + return ERR_PTR(-EINVAL); | ||
107 | |||
108 | smc = kmalloc(sizeof(*smc), GFP_KERNEL); | ||
109 | if (!smc) | ||
110 | - return NULL; | ||
111 | + return ERR_PTR(-ENOMEM); | ||
112 | |||
113 | memcpy(&smc->sm, &ops_, sizeof(smc->sm)); | ||
114 | r = ca_create(&smc->old_counts, sm); | ||
115 | if (r) { | ||
116 | kfree(smc); | ||
117 | - return NULL; | ||
118 | + return ERR_PTR(r); | ||
119 | } | ||
120 | |||
121 | r = ca_create(&smc->counts, sm); | ||
122 | if (r) { | ||
123 | ca_destroy(&smc->old_counts); | ||
124 | kfree(smc); | ||
125 | - return NULL; | ||
126 | + return ERR_PTR(r); | ||
127 | } | ||
128 | |||
129 | smc->real_sm = sm; | ||
130 | diff --git a/drivers/md/persistent-data/dm-space-map-disk.c b/drivers/md/persistent-data/dm-space-map-disk.c | ||
131 | index fc469ba..3d0ed53 100644 | ||
132 | --- a/drivers/md/persistent-data/dm-space-map-disk.c | ||
133 | +++ b/drivers/md/persistent-data/dm-space-map-disk.c | ||
134 | @@ -290,7 +290,16 @@ struct dm_space_map *dm_sm_disk_create(struct dm_transaction_manager *tm, | ||
135 | dm_block_t nr_blocks) | ||
136 | { | ||
137 | struct dm_space_map *sm = dm_sm_disk_create_real(tm, nr_blocks); | ||
138 | - return dm_sm_checker_create_fresh(sm); | ||
139 | + struct dm_space_map *smc; | ||
140 | + | ||
141 | + if (IS_ERR_OR_NULL(sm)) | ||
142 | + return sm; | ||
143 | + | ||
144 | + smc = dm_sm_checker_create_fresh(sm); | ||
145 | + if (IS_ERR(smc)) | ||
146 | + dm_sm_destroy(sm); | ||
147 | + | ||
148 | + return smc; | ||
149 | } | ||
150 | EXPORT_SYMBOL_GPL(dm_sm_disk_create); | ||
151 | |||
152 | diff --git a/drivers/md/persistent-data/dm-transaction-manager.c b/drivers/md/persistent-data/dm-transaction-manager.c | ||
153 | index e5902d1..ba54aac 100644 | ||
154 | --- a/drivers/md/persistent-data/dm-transaction-manager.c | ||
155 | +++ b/drivers/md/persistent-data/dm-transaction-manager.c | ||
156 | @@ -345,8 +345,10 @@ static int dm_tm_create_internal(struct dm_block_manager *bm, | ||
157 | } | ||
158 | |||
159 | *sm = dm_sm_checker_create(inner); | ||
160 | - if (!*sm) | ||
161 | + if (IS_ERR(*sm)) { | ||
162 | + r = PTR_ERR(*sm); | ||
163 | goto bad2; | ||
164 | + } | ||
165 | |||
166 | } else { | ||
167 | r = dm_bm_write_lock(dm_tm_get_bm(*tm), sb_location, | ||
168 | @@ -365,8 +367,10 @@ static int dm_tm_create_internal(struct dm_block_manager *bm, | ||
169 | } | ||
170 | |||
171 | *sm = dm_sm_checker_create(inner); | ||
172 | - if (!*sm) | ||
173 | + if (IS_ERR(*sm)) { | ||
174 | + r = PTR_ERR(*sm); | ||
175 | goto bad2; | ||
176 | + } | ||
177 | } | ||
178 | |||
179 | return 0; | ||
180 | -- | ||
181 | 1.7.10 | ||
182 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0021-dm-persistent-data-fix-allocation-failure-in-space-m.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0021-dm-persistent-data-fix-allocation-failure-in-space-m.patch new file mode 100644 index 00000000..b8121c82 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0021-dm-persistent-data-fix-allocation-failure-in-space-m.patch | |||
@@ -0,0 +1,95 @@ | |||
1 | From d93e7e98bbff07495ac95fd10c02c2e0d5392079 Mon Sep 17 00:00:00 2001 | ||
2 | From: Mike Snitzer <snitzer@redhat.com> | ||
3 | Date: Tue, 3 Jul 2012 12:55:37 +0100 | ||
4 | Subject: [PATCH 21/49] dm persistent data: fix allocation failure in space | ||
5 | map checker init | ||
6 | |||
7 | commit b0239faaf87c38bb419c9264bf20817438ddc3a9 upstream. | ||
8 | |||
9 | If CONFIG_DM_DEBUG_SPACE_MAPS is enabled and memory is fragmented and a | ||
10 | sufficiently-large metadata device is used in a thin pool then the space | ||
11 | map checker will fail to allocate the memory it requires. | ||
12 | |||
13 | Switch from kmalloc to vmalloc to allow larger virtually contiguous | ||
14 | allocations for the space map checker's internal count arrays. | ||
15 | |||
16 | Reported-by: Vivek Goyal <vgoyal@redhat.com> | ||
17 | Signed-off-by: Mike Snitzer <snitzer@redhat.com> | ||
18 | Signed-off-by: Alasdair G Kergon <agk@redhat.com> | ||
19 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
20 | --- | ||
21 | drivers/md/persistent-data/dm-space-map-checker.c | 30 +++++++++++++-------- | ||
22 | 1 file changed, 19 insertions(+), 11 deletions(-) | ||
23 | |||
24 | diff --git a/drivers/md/persistent-data/dm-space-map-checker.c b/drivers/md/persistent-data/dm-space-map-checker.c | ||
25 | index 6d7c832..fc90c11 100644 | ||
26 | --- a/drivers/md/persistent-data/dm-space-map-checker.c | ||
27 | +++ b/drivers/md/persistent-data/dm-space-map-checker.c | ||
28 | @@ -8,6 +8,7 @@ | ||
29 | |||
30 | #include <linux/device-mapper.h> | ||
31 | #include <linux/export.h> | ||
32 | +#include <linux/vmalloc.h> | ||
33 | |||
34 | #ifdef CONFIG_DM_DEBUG_SPACE_MAPS | ||
35 | |||
36 | @@ -89,13 +90,23 @@ static int ca_create(struct count_array *ca, struct dm_space_map *sm) | ||
37 | |||
38 | ca->nr = nr_blocks; | ||
39 | ca->nr_free = nr_blocks; | ||
40 | - ca->counts = kzalloc(sizeof(*ca->counts) * nr_blocks, GFP_KERNEL); | ||
41 | - if (!ca->counts) | ||
42 | - return -ENOMEM; | ||
43 | + | ||
44 | + if (!nr_blocks) | ||
45 | + ca->counts = NULL; | ||
46 | + else { | ||
47 | + ca->counts = vzalloc(sizeof(*ca->counts) * nr_blocks); | ||
48 | + if (!ca->counts) | ||
49 | + return -ENOMEM; | ||
50 | + } | ||
51 | |||
52 | return 0; | ||
53 | } | ||
54 | |||
55 | +static void ca_destroy(struct count_array *ca) | ||
56 | +{ | ||
57 | + vfree(ca->counts); | ||
58 | +} | ||
59 | + | ||
60 | static int ca_load(struct count_array *ca, struct dm_space_map *sm) | ||
61 | { | ||
62 | int r; | ||
63 | @@ -126,12 +137,14 @@ static int ca_load(struct count_array *ca, struct dm_space_map *sm) | ||
64 | static int ca_extend(struct count_array *ca, dm_block_t extra_blocks) | ||
65 | { | ||
66 | dm_block_t nr_blocks = ca->nr + extra_blocks; | ||
67 | - uint32_t *counts = kzalloc(sizeof(*counts) * nr_blocks, GFP_KERNEL); | ||
68 | + uint32_t *counts = vzalloc(sizeof(*counts) * nr_blocks); | ||
69 | if (!counts) | ||
70 | return -ENOMEM; | ||
71 | |||
72 | - memcpy(counts, ca->counts, sizeof(*counts) * ca->nr); | ||
73 | - kfree(ca->counts); | ||
74 | + if (ca->counts) { | ||
75 | + memcpy(counts, ca->counts, sizeof(*counts) * ca->nr); | ||
76 | + ca_destroy(ca); | ||
77 | + } | ||
78 | ca->nr = nr_blocks; | ||
79 | ca->nr_free += extra_blocks; | ||
80 | ca->counts = counts; | ||
81 | @@ -151,11 +164,6 @@ static int ca_commit(struct count_array *old, struct count_array *new) | ||
82 | return 0; | ||
83 | } | ||
84 | |||
85 | -static void ca_destroy(struct count_array *ca) | ||
86 | -{ | ||
87 | - kfree(ca->counts); | ||
88 | -} | ||
89 | - | ||
90 | /*----------------------------------------------------------------*/ | ||
91 | |||
92 | struct sm_checker { | ||
93 | -- | ||
94 | 1.7.10 | ||
95 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0022-ALSA-hda-Fix-power-map-regression-for-HP-dv6-co.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0022-ALSA-hda-Fix-power-map-regression-for-HP-dv6-co.patch new file mode 100644 index 00000000..3b85ba72 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0022-ALSA-hda-Fix-power-map-regression-for-HP-dv6-co.patch | |||
@@ -0,0 +1,49 @@ | |||
1 | From 6411ef218c12f6719597631d388f2b13945a5251 Mon Sep 17 00:00:00 2001 | ||
2 | From: Takashi Iwai <tiwai@suse.de> | ||
3 | Date: Tue, 26 Jun 2012 17:35:10 +0200 | ||
4 | Subject: [PATCH 22/49] ALSA: hda - Fix power-map regression for HP dv6 & co | ||
5 | |||
6 | commit 6e1c39c6b00d9141a82c231ba7c5e5b1716974b2 upstream. | ||
7 | |||
8 | The recent fix for power-map controls (commit b0791dda813) caused | ||
9 | regressions on some other HP laptops. They have fixed pins but these | ||
10 | pins are exposed as jack-detectable. Thus the driver tries to control | ||
11 | the power-map dynamically per jack detection where it never gets on. | ||
12 | |||
13 | This patch adds the check of connection and it assumes the no jack | ||
14 | detection is available for fixed pins no matter what pin capability | ||
15 | says. | ||
16 | |||
17 | BugLink: http://bugs.launchpad.net/bugs/1013183 | ||
18 | Reported-by: Luis Henriques <luis.henriques@canonical.com> | ||
19 | Signed-off-by: Takashi Iwai <tiwai@suse.de> | ||
20 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
21 | --- | ||
22 | sound/pci/hda/patch_sigmatel.c | 4 ++-- | ||
23 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
24 | |||
25 | diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c | ||
26 | index 7b7a516..2b973f5 100644 | ||
27 | --- a/sound/pci/hda/patch_sigmatel.c | ||
28 | +++ b/sound/pci/hda/patch_sigmatel.c | ||
29 | @@ -4457,7 +4457,7 @@ static int stac92xx_init(struct hda_codec *codec) | ||
30 | AC_PINCTL_IN_EN); | ||
31 | for (i = 0; i < spec->num_pwrs; i++) { | ||
32 | hda_nid_t nid = spec->pwr_nids[i]; | ||
33 | - int pinctl, def_conf; | ||
34 | + unsigned int pinctl, def_conf; | ||
35 | |||
36 | /* power on when no jack detection is available */ | ||
37 | /* or when the VREF is used for controlling LED */ | ||
38 | @@ -4484,7 +4484,7 @@ static int stac92xx_init(struct hda_codec *codec) | ||
39 | def_conf = get_defcfg_connect(def_conf); | ||
40 | /* skip any ports that don't have jacks since presence | ||
41 | * detection is useless */ | ||
42 | - if (def_conf != AC_JACK_PORT_NONE && | ||
43 | + if (def_conf != AC_JACK_PORT_COMPLEX || | ||
44 | !is_jack_detectable(codec, nid)) { | ||
45 | stac_toggle_power_map(codec, nid, 1); | ||
46 | continue; | ||
47 | -- | ||
48 | 1.7.10 | ||
49 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0023-tracing-change-CPU-ring-buffer-state-from-tracing_cp.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0023-tracing-change-CPU-ring-buffer-state-from-tracing_cp.patch new file mode 100644 index 00000000..eb84795a --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0023-tracing-change-CPU-ring-buffer-state-from-tracing_cp.patch | |||
@@ -0,0 +1,56 @@ | |||
1 | From 04098d77869c04c5bf703846783cb89b4297b2bb Mon Sep 17 00:00:00 2001 | ||
2 | From: Vaibhav Nagarnaik <vnagarnaik@google.com> | ||
3 | Date: Thu, 3 May 2012 18:59:52 -0700 | ||
4 | Subject: [PATCH 23/49] tracing: change CPU ring buffer state from | ||
5 | tracing_cpumask | ||
6 | |||
7 | commit 71babb2705e2203a64c27ede13ae3508a0d2c16c upstream. | ||
8 | |||
9 | According to Documentation/trace/ftrace.txt: | ||
10 | |||
11 | tracing_cpumask: | ||
12 | |||
13 | This is a mask that lets the user only trace | ||
14 | on specified CPUS. The format is a hex string | ||
15 | representing the CPUS. | ||
16 | |||
17 | The tracing_cpumask currently doesn't affect the tracing state of | ||
18 | per-CPU ring buffers. | ||
19 | |||
20 | This patch enables/disables CPU recording as its corresponding bit in | ||
21 | tracing_cpumask is set/unset. | ||
22 | |||
23 | Link: http://lkml.kernel.org/r/1336096792-25373-3-git-send-email-vnagarnaik@google.com | ||
24 | |||
25 | Cc: Frederic Weisbecker <fweisbec@gmail.com> | ||
26 | Cc: Ingo Molnar <mingo@redhat.com> | ||
27 | Cc: Laurent Chavey <chavey@google.com> | ||
28 | Cc: Justin Teravest <teravest@google.com> | ||
29 | Cc: David Sharp <dhsharp@google.com> | ||
30 | Signed-off-by: Vaibhav Nagarnaik <vnagarnaik@google.com> | ||
31 | Signed-off-by: Steven Rostedt <rostedt@goodmis.org> | ||
32 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
33 | --- | ||
34 | kernel/trace/trace.c | 2 ++ | ||
35 | 1 file changed, 2 insertions(+) | ||
36 | |||
37 | diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c | ||
38 | index 7e4edd3..5638104 100644 | ||
39 | --- a/kernel/trace/trace.c | ||
40 | +++ b/kernel/trace/trace.c | ||
41 | @@ -2541,10 +2541,12 @@ tracing_cpumask_write(struct file *filp, const char __user *ubuf, | ||
42 | if (cpumask_test_cpu(cpu, tracing_cpumask) && | ||
43 | !cpumask_test_cpu(cpu, tracing_cpumask_new)) { | ||
44 | atomic_inc(&global_trace.data[cpu]->disabled); | ||
45 | + ring_buffer_record_disable_cpu(global_trace.buffer, cpu); | ||
46 | } | ||
47 | if (!cpumask_test_cpu(cpu, tracing_cpumask) && | ||
48 | cpumask_test_cpu(cpu, tracing_cpumask_new)) { | ||
49 | atomic_dec(&global_trace.data[cpu]->disabled); | ||
50 | + ring_buffer_record_enable_cpu(global_trace.buffer, cpu); | ||
51 | } | ||
52 | } | ||
53 | arch_spin_unlock(&ftrace_max_lock); | ||
54 | -- | ||
55 | 1.7.10 | ||
56 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0024-mwifiex-fix-wrong-return-values-in-add_virtual_intf-.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0024-mwifiex-fix-wrong-return-values-in-add_virtual_intf-.patch new file mode 100644 index 00000000..e7cb513b --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0024-mwifiex-fix-wrong-return-values-in-add_virtual_intf-.patch | |||
@@ -0,0 +1,93 @@ | |||
1 | From 0b53b4fb097d5d599a3a3fcd0ac10ad140bdf9c4 Mon Sep 17 00:00:00 2001 | ||
2 | From: Bing Zhao <bzhao@marvell.com> | ||
3 | Date: Tue, 3 Jul 2012 20:43:56 -0700 | ||
4 | Subject: [PATCH 24/49] mwifiex: fix wrong return values in add_virtual_intf() | ||
5 | error cases | ||
6 | |||
7 | commit 858faa57dd9e2b91f3f870fbb1185982e42f5a2b upstream | ||
8 | |||
9 | backported for linux-3.2.y, linux-3.3.y, linux-3.4.y | ||
10 | |||
11 | add_virtual_intf() needs to return an ERR_PTR(), instead of NULL, | ||
12 | on errors, otherwise cfg80211 will crash. | ||
13 | |||
14 | Reported-by: Johannes Berg <johannes@sipsolutions.net> | ||
15 | Signed-off-by: Bing Zhao <bzhao@marvell.com> | ||
16 | Signed-off-by: John W. Linville <linville@tuxdriver.com> | ||
17 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
18 | --- | ||
19 | drivers/net/wireless/mwifiex/cfg80211.c | 21 +++++++++------------ | ||
20 | 1 file changed, 9 insertions(+), 12 deletions(-) | ||
21 | |||
22 | diff --git a/drivers/net/wireless/mwifiex/cfg80211.c b/drivers/net/wireless/mwifiex/cfg80211.c | ||
23 | index 462c710..01dcb1a 100644 | ||
24 | --- a/drivers/net/wireless/mwifiex/cfg80211.c | ||
25 | +++ b/drivers/net/wireless/mwifiex/cfg80211.c | ||
26 | @@ -1177,11 +1177,11 @@ struct net_device *mwifiex_add_virtual_intf(struct wiphy *wiphy, | ||
27 | void *mdev_priv; | ||
28 | |||
29 | if (!priv) | ||
30 | - return NULL; | ||
31 | + return ERR_PTR(-EFAULT); | ||
32 | |||
33 | adapter = priv->adapter; | ||
34 | if (!adapter) | ||
35 | - return NULL; | ||
36 | + return ERR_PTR(-EFAULT); | ||
37 | |||
38 | switch (type) { | ||
39 | case NL80211_IFTYPE_UNSPECIFIED: | ||
40 | @@ -1190,7 +1190,7 @@ struct net_device *mwifiex_add_virtual_intf(struct wiphy *wiphy, | ||
41 | if (priv->bss_mode) { | ||
42 | wiphy_err(wiphy, "cannot create multiple" | ||
43 | " station/adhoc interfaces\n"); | ||
44 | - return NULL; | ||
45 | + return ERR_PTR(-EINVAL); | ||
46 | } | ||
47 | |||
48 | if (type == NL80211_IFTYPE_UNSPECIFIED) | ||
49 | @@ -1208,14 +1208,15 @@ struct net_device *mwifiex_add_virtual_intf(struct wiphy *wiphy, | ||
50 | break; | ||
51 | default: | ||
52 | wiphy_err(wiphy, "type not supported\n"); | ||
53 | - return NULL; | ||
54 | + return ERR_PTR(-EINVAL); | ||
55 | } | ||
56 | |||
57 | dev = alloc_netdev_mq(sizeof(struct mwifiex_private *), name, | ||
58 | ether_setup, 1); | ||
59 | if (!dev) { | ||
60 | wiphy_err(wiphy, "no memory available for netdevice\n"); | ||
61 | - goto error; | ||
62 | + priv->bss_mode = NL80211_IFTYPE_UNSPECIFIED; | ||
63 | + return ERR_PTR(-ENOMEM); | ||
64 | } | ||
65 | |||
66 | dev_net_set(dev, wiphy_net(wiphy)); | ||
67 | @@ -1240,7 +1241,9 @@ struct net_device *mwifiex_add_virtual_intf(struct wiphy *wiphy, | ||
68 | /* Register network device */ | ||
69 | if (register_netdevice(dev)) { | ||
70 | wiphy_err(wiphy, "cannot register virtual network device\n"); | ||
71 | - goto error; | ||
72 | + free_netdev(dev); | ||
73 | + priv->bss_mode = NL80211_IFTYPE_UNSPECIFIED; | ||
74 | + return ERR_PTR(-EFAULT); | ||
75 | } | ||
76 | |||
77 | sema_init(&priv->async_sem, 1); | ||
78 | @@ -1252,12 +1255,6 @@ struct net_device *mwifiex_add_virtual_intf(struct wiphy *wiphy, | ||
79 | mwifiex_dev_debugfs_init(priv); | ||
80 | #endif | ||
81 | return dev; | ||
82 | -error: | ||
83 | - if (dev && (dev->reg_state == NETREG_UNREGISTERED)) | ||
84 | - free_netdev(dev); | ||
85 | - priv->bss_mode = NL80211_IFTYPE_UNSPECIFIED; | ||
86 | - | ||
87 | - return NULL; | ||
88 | } | ||
89 | EXPORT_SYMBOL_GPL(mwifiex_add_virtual_intf); | ||
90 | |||
91 | -- | ||
92 | 1.7.10 | ||
93 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0025-udf-Use-ret-instead-of-abusing-i-in-udf_load_logical.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0025-udf-Use-ret-instead-of-abusing-i-in-udf_load_logical.patch new file mode 100644 index 00000000..0d5c1790 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0025-udf-Use-ret-instead-of-abusing-i-in-udf_load_logical.patch | |||
@@ -0,0 +1,35 @@ | |||
1 | From 4d7257d8f5c970ce0f699d893f6050fd8bd11f3c Mon Sep 17 00:00:00 2001 | ||
2 | From: Jan Kara <jack@suse.cz> | ||
3 | Date: Wed, 27 Jun 2012 20:08:44 +0200 | ||
4 | Subject: [PATCH 25/49] udf: Use 'ret' instead of abusing 'i' in | ||
5 | udf_load_logicalvol() | ||
6 | |||
7 | commit cb14d340ef1737c24125dd663eff77734a482d47 upstream. | ||
8 | |||
9 | Signed-off-by: Jan Kara <jack@suse.cz> | ||
10 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
11 | --- | ||
12 | fs/udf/super.c | 6 ++---- | ||
13 | 1 file changed, 2 insertions(+), 4 deletions(-) | ||
14 | |||
15 | diff --git a/fs/udf/super.c b/fs/udf/super.c | ||
16 | index 87cb24a..eea2bfe 100644 | ||
17 | --- a/fs/udf/super.c | ||
18 | +++ b/fs/udf/super.c | ||
19 | @@ -1235,11 +1235,9 @@ static int udf_load_logicalvol(struct super_block *sb, sector_t block, | ||
20 | BUG_ON(ident != TAG_IDENT_LVD); | ||
21 | lvd = (struct logicalVolDesc *)bh->b_data; | ||
22 | |||
23 | - i = udf_sb_alloc_partition_maps(sb, le32_to_cpu(lvd->numPartitionMaps)); | ||
24 | - if (i != 0) { | ||
25 | - ret = i; | ||
26 | + ret = udf_sb_alloc_partition_maps(sb, le32_to_cpu(lvd->numPartitionMaps)); | ||
27 | + if (ret) | ||
28 | goto out_bh; | ||
29 | - } | ||
30 | |||
31 | for (i = 0, offset = 0; | ||
32 | i < sbi->s_partitions && offset < le32_to_cpu(lvd->mapTableLength); | ||
33 | -- | ||
34 | 1.7.10 | ||
35 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0026-udf-Avoid-run-away-loop-when-partition-table-length-.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0026-udf-Avoid-run-away-loop-when-partition-table-length-.patch new file mode 100644 index 00000000..b9fb57ac --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0026-udf-Avoid-run-away-loop-when-partition-table-length-.patch | |||
@@ -0,0 +1,54 @@ | |||
1 | From 0a9d08974ed753d12541081ae062e5f69298d791 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jan Kara <jack@suse.cz> | ||
3 | Date: Wed, 27 Jun 2012 20:20:22 +0200 | ||
4 | Subject: [PATCH 26/49] udf: Avoid run away loop when partition table length | ||
5 | is corrupted | ||
6 | |||
7 | commit adee11b2085bee90bd8f4f52123ffb07882d6256 upstream. | ||
8 | |||
9 | Check provided length of partition table so that (possibly maliciously) | ||
10 | corrupted partition table cannot cause accessing data beyond current buffer. | ||
11 | |||
12 | Signed-off-by: Jan Kara <jack@suse.cz> | ||
13 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
14 | --- | ||
15 | fs/udf/super.c | 10 +++++++++- | ||
16 | 1 file changed, 9 insertions(+), 1 deletion(-) | ||
17 | |||
18 | diff --git a/fs/udf/super.c b/fs/udf/super.c | ||
19 | index eea2bfe..800e839 100644 | ||
20 | --- a/fs/udf/super.c | ||
21 | +++ b/fs/udf/super.c | ||
22 | @@ -1227,6 +1227,7 @@ static int udf_load_logicalvol(struct super_block *sb, sector_t block, | ||
23 | struct genericPartitionMap *gpm; | ||
24 | uint16_t ident; | ||
25 | struct buffer_head *bh; | ||
26 | + unsigned int table_len; | ||
27 | int ret = 0; | ||
28 | |||
29 | bh = udf_read_tagged(sb, block, block, &ident); | ||
30 | @@ -1234,13 +1235,20 @@ static int udf_load_logicalvol(struct super_block *sb, sector_t block, | ||
31 | return 1; | ||
32 | BUG_ON(ident != TAG_IDENT_LVD); | ||
33 | lvd = (struct logicalVolDesc *)bh->b_data; | ||
34 | + table_len = le32_to_cpu(lvd->mapTableLength); | ||
35 | + if (sizeof(*lvd) + table_len > sb->s_blocksize) { | ||
36 | + udf_err(sb, "error loading logical volume descriptor: " | ||
37 | + "Partition table too long (%u > %lu)\n", table_len, | ||
38 | + sb->s_blocksize - sizeof(*lvd)); | ||
39 | + goto out_bh; | ||
40 | + } | ||
41 | |||
42 | ret = udf_sb_alloc_partition_maps(sb, le32_to_cpu(lvd->numPartitionMaps)); | ||
43 | if (ret) | ||
44 | goto out_bh; | ||
45 | |||
46 | for (i = 0, offset = 0; | ||
47 | - i < sbi->s_partitions && offset < le32_to_cpu(lvd->mapTableLength); | ||
48 | + i < sbi->s_partitions && offset < table_len; | ||
49 | i++, offset += gpm->partitionMapLength) { | ||
50 | struct udf_part_map *map = &sbi->s_partmaps[i]; | ||
51 | gpm = (struct genericPartitionMap *) | ||
52 | -- | ||
53 | 1.7.10 | ||
54 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0027-udf-Fortify-loading-of-sparing-table.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0027-udf-Fortify-loading-of-sparing-table.patch new file mode 100644 index 00000000..2c4b7063 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0027-udf-Fortify-loading-of-sparing-table.patch | |||
@@ -0,0 +1,134 @@ | |||
1 | From 9db7244bafd8f99123cf5fe816e4961115831ca9 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jan Kara <jack@suse.cz> | ||
3 | Date: Wed, 27 Jun 2012 21:23:07 +0200 | ||
4 | Subject: [PATCH 27/49] udf: Fortify loading of sparing table | ||
5 | |||
6 | commit 1df2ae31c724e57be9d7ac00d78db8a5dabdd050 upstream. | ||
7 | |||
8 | Add sanity checks when loading sparing table from disk to avoid accessing | ||
9 | unallocated memory or writing to it. | ||
10 | |||
11 | Signed-off-by: Jan Kara <jack@suse.cz> | ||
12 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
13 | --- | ||
14 | fs/udf/super.c | 86 ++++++++++++++++++++++++++++++++++---------------------- | ||
15 | 1 file changed, 53 insertions(+), 33 deletions(-) | ||
16 | |||
17 | diff --git a/fs/udf/super.c b/fs/udf/super.c | ||
18 | index 800e839..270e135 100644 | ||
19 | --- a/fs/udf/super.c | ||
20 | +++ b/fs/udf/super.c | ||
21 | @@ -56,6 +56,7 @@ | ||
22 | #include <linux/seq_file.h> | ||
23 | #include <linux/bitmap.h> | ||
24 | #include <linux/crc-itu-t.h> | ||
25 | +#include <linux/log2.h> | ||
26 | #include <asm/byteorder.h> | ||
27 | |||
28 | #include "udf_sb.h" | ||
29 | @@ -1217,11 +1218,59 @@ out_bh: | ||
30 | return ret; | ||
31 | } | ||
32 | |||
33 | +static int udf_load_sparable_map(struct super_block *sb, | ||
34 | + struct udf_part_map *map, | ||
35 | + struct sparablePartitionMap *spm) | ||
36 | +{ | ||
37 | + uint32_t loc; | ||
38 | + uint16_t ident; | ||
39 | + struct sparingTable *st; | ||
40 | + struct udf_sparing_data *sdata = &map->s_type_specific.s_sparing; | ||
41 | + int i; | ||
42 | + struct buffer_head *bh; | ||
43 | + | ||
44 | + map->s_partition_type = UDF_SPARABLE_MAP15; | ||
45 | + sdata->s_packet_len = le16_to_cpu(spm->packetLength); | ||
46 | + if (!is_power_of_2(sdata->s_packet_len)) { | ||
47 | + udf_err(sb, "error loading logical volume descriptor: " | ||
48 | + "Invalid packet length %u\n", | ||
49 | + (unsigned)sdata->s_packet_len); | ||
50 | + return -EIO; | ||
51 | + } | ||
52 | + if (spm->numSparingTables > 4) { | ||
53 | + udf_err(sb, "error loading logical volume descriptor: " | ||
54 | + "Too many sparing tables (%d)\n", | ||
55 | + (int)spm->numSparingTables); | ||
56 | + return -EIO; | ||
57 | + } | ||
58 | + | ||
59 | + for (i = 0; i < spm->numSparingTables; i++) { | ||
60 | + loc = le32_to_cpu(spm->locSparingTable[i]); | ||
61 | + bh = udf_read_tagged(sb, loc, loc, &ident); | ||
62 | + if (!bh) | ||
63 | + continue; | ||
64 | + | ||
65 | + st = (struct sparingTable *)bh->b_data; | ||
66 | + if (ident != 0 || | ||
67 | + strncmp(st->sparingIdent.ident, UDF_ID_SPARING, | ||
68 | + strlen(UDF_ID_SPARING)) || | ||
69 | + sizeof(*st) + le16_to_cpu(st->reallocationTableLen) > | ||
70 | + sb->s_blocksize) { | ||
71 | + brelse(bh); | ||
72 | + continue; | ||
73 | + } | ||
74 | + | ||
75 | + sdata->s_spar_map[i] = bh; | ||
76 | + } | ||
77 | + map->s_partition_func = udf_get_pblock_spar15; | ||
78 | + return 0; | ||
79 | +} | ||
80 | + | ||
81 | static int udf_load_logicalvol(struct super_block *sb, sector_t block, | ||
82 | struct kernel_lb_addr *fileset) | ||
83 | { | ||
84 | struct logicalVolDesc *lvd; | ||
85 | - int i, j, offset; | ||
86 | + int i, offset; | ||
87 | uint8_t type; | ||
88 | struct udf_sb_info *sbi = UDF_SB(sb); | ||
89 | struct genericPartitionMap *gpm; | ||
90 | @@ -1283,38 +1332,9 @@ static int udf_load_logicalvol(struct super_block *sb, sector_t block, | ||
91 | } else if (!strncmp(upm2->partIdent.ident, | ||
92 | UDF_ID_SPARABLE, | ||
93 | strlen(UDF_ID_SPARABLE))) { | ||
94 | - uint32_t loc; | ||
95 | - struct sparingTable *st; | ||
96 | - struct sparablePartitionMap *spm = | ||
97 | - (struct sparablePartitionMap *)gpm; | ||
98 | - | ||
99 | - map->s_partition_type = UDF_SPARABLE_MAP15; | ||
100 | - map->s_type_specific.s_sparing.s_packet_len = | ||
101 | - le16_to_cpu(spm->packetLength); | ||
102 | - for (j = 0; j < spm->numSparingTables; j++) { | ||
103 | - struct buffer_head *bh2; | ||
104 | - | ||
105 | - loc = le32_to_cpu( | ||
106 | - spm->locSparingTable[j]); | ||
107 | - bh2 = udf_read_tagged(sb, loc, loc, | ||
108 | - &ident); | ||
109 | - map->s_type_specific.s_sparing. | ||
110 | - s_spar_map[j] = bh2; | ||
111 | - | ||
112 | - if (bh2 == NULL) | ||
113 | - continue; | ||
114 | - | ||
115 | - st = (struct sparingTable *)bh2->b_data; | ||
116 | - if (ident != 0 || strncmp( | ||
117 | - st->sparingIdent.ident, | ||
118 | - UDF_ID_SPARING, | ||
119 | - strlen(UDF_ID_SPARING))) { | ||
120 | - brelse(bh2); | ||
121 | - map->s_type_specific.s_sparing. | ||
122 | - s_spar_map[j] = NULL; | ||
123 | - } | ||
124 | - } | ||
125 | - map->s_partition_func = udf_get_pblock_spar15; | ||
126 | + if (udf_load_sparable_map(sb, map, | ||
127 | + (struct sparablePartitionMap *)gpm) < 0) | ||
128 | + goto out_bh; | ||
129 | } else if (!strncmp(upm2->partIdent.ident, | ||
130 | UDF_ID_METADATA, | ||
131 | strlen(UDF_ID_METADATA))) { | ||
132 | -- | ||
133 | 1.7.10 | ||
134 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0028-ARM-fix-rcu-stalls-on-SMP-platforms.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0028-ARM-fix-rcu-stalls-on-SMP-platforms.patch new file mode 100644 index 00000000..4187adc2 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0028-ARM-fix-rcu-stalls-on-SMP-platforms.patch | |||
@@ -0,0 +1,68 @@ | |||
1 | From cb4aa2ef6f748fa3a3e6cd3889153c191e63d48e Mon Sep 17 00:00:00 2001 | ||
2 | From: Russell King <rmk+kernel@arm.linux.org.uk> | ||
3 | Date: Thu, 19 Jan 2012 15:20:58 +0000 | ||
4 | Subject: [PATCH 28/49] ARM: fix rcu stalls on SMP platforms | ||
5 | |||
6 | commit 7deabca0acfe02b8e18f59a4c95676012f49a304 upstream. | ||
7 | |||
8 | We can stall RCU processing on SMP platforms if a CPU sits in its idle | ||
9 | loop for a long time. This happens because we don't call irq_enter() | ||
10 | and irq_exit() around generic_smp_call_function_interrupt() and | ||
11 | friends. Add the necessary calls, and remove the one from within | ||
12 | ipi_timer(), so that they're all in a common place. | ||
13 | |||
14 | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> | ||
15 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
16 | --- | ||
17 | arch/arm/kernel/smp.c | 10 ++++++++-- | ||
18 | 1 file changed, 8 insertions(+), 2 deletions(-) | ||
19 | |||
20 | diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c | ||
21 | index e10e59a..1d1710e 100644 | ||
22 | --- a/arch/arm/kernel/smp.c | ||
23 | +++ b/arch/arm/kernel/smp.c | ||
24 | @@ -471,9 +471,7 @@ static DEFINE_PER_CPU(struct clock_event_device, percpu_clockevent); | ||
25 | static void ipi_timer(void) | ||
26 | { | ||
27 | struct clock_event_device *evt = &__get_cpu_var(percpu_clockevent); | ||
28 | - irq_enter(); | ||
29 | evt->event_handler(evt); | ||
30 | - irq_exit(); | ||
31 | } | ||
32 | |||
33 | #ifdef CONFIG_GENERIC_CLOCKEVENTS_BROADCAST | ||
34 | @@ -572,7 +570,9 @@ void handle_IPI(int ipinr, struct pt_regs *regs) | ||
35 | |||
36 | switch (ipinr) { | ||
37 | case IPI_TIMER: | ||
38 | + irq_enter(); | ||
39 | ipi_timer(); | ||
40 | + irq_exit(); | ||
41 | break; | ||
42 | |||
43 | case IPI_RESCHEDULE: | ||
44 | @@ -580,15 +580,21 @@ void handle_IPI(int ipinr, struct pt_regs *regs) | ||
45 | break; | ||
46 | |||
47 | case IPI_CALL_FUNC: | ||
48 | + irq_enter(); | ||
49 | generic_smp_call_function_interrupt(); | ||
50 | + irq_exit(); | ||
51 | break; | ||
52 | |||
53 | case IPI_CALL_FUNC_SINGLE: | ||
54 | + irq_enter(); | ||
55 | generic_smp_call_function_single_interrupt(); | ||
56 | + irq_exit(); | ||
57 | break; | ||
58 | |||
59 | case IPI_CPU_STOP: | ||
60 | + irq_enter(); | ||
61 | ipi_cpu_stop(cpu); | ||
62 | + irq_exit(); | ||
63 | break; | ||
64 | |||
65 | default: | ||
66 | -- | ||
67 | 1.7.10 | ||
68 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0029-net-sock-validate-data_len-before-allocating-skb-in-.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0029-net-sock-validate-data_len-before-allocating-skb-in-.patch new file mode 100644 index 00000000..7ede727e --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0029-net-sock-validate-data_len-before-allocating-skb-in-.patch | |||
@@ -0,0 +1,53 @@ | |||
1 | From 9e88f1e8bf3f7dbc0cb410a09c003180052bd7d4 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jason Wang <jasowang@redhat.com> | ||
3 | Date: Wed, 30 May 2012 21:18:10 +0000 | ||
4 | Subject: [PATCH 29/49] net: sock: validate data_len before allocating skb in | ||
5 | sock_alloc_send_pskb() | ||
6 | |||
7 | [ Upstream commit cc9b17ad29ecaa20bfe426a8d4dbfb94b13ff1cc ] | ||
8 | |||
9 | We need to validate the number of pages consumed by data_len, otherwise frags | ||
10 | array could be overflowed by userspace. So this patch validate data_len and | ||
11 | return -EMSGSIZE when data_len may occupies more frags than MAX_SKB_FRAGS. | ||
12 | |||
13 | Signed-off-by: Jason Wang <jasowang@redhat.com> | ||
14 | Signed-off-by: David S. Miller <davem@davemloft.net> | ||
15 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
16 | --- | ||
17 | net/core/sock.c | 7 +++++-- | ||
18 | 1 file changed, 5 insertions(+), 2 deletions(-) | ||
19 | |||
20 | diff --git a/net/core/sock.c b/net/core/sock.c | ||
21 | index b23f174..8d095b9 100644 | ||
22 | --- a/net/core/sock.c | ||
23 | +++ b/net/core/sock.c | ||
24 | @@ -1497,6 +1497,11 @@ struct sk_buff *sock_alloc_send_pskb(struct sock *sk, unsigned long header_len, | ||
25 | gfp_t gfp_mask; | ||
26 | long timeo; | ||
27 | int err; | ||
28 | + int npages = (data_len + (PAGE_SIZE - 1)) >> PAGE_SHIFT; | ||
29 | + | ||
30 | + err = -EMSGSIZE; | ||
31 | + if (npages > MAX_SKB_FRAGS) | ||
32 | + goto failure; | ||
33 | |||
34 | gfp_mask = sk->sk_allocation; | ||
35 | if (gfp_mask & __GFP_WAIT) | ||
36 | @@ -1515,14 +1520,12 @@ struct sk_buff *sock_alloc_send_pskb(struct sock *sk, unsigned long header_len, | ||
37 | if (atomic_read(&sk->sk_wmem_alloc) < sk->sk_sndbuf) { | ||
38 | skb = alloc_skb(header_len, gfp_mask); | ||
39 | if (skb) { | ||
40 | - int npages; | ||
41 | int i; | ||
42 | |||
43 | /* No pages, we're done... */ | ||
44 | if (!data_len) | ||
45 | break; | ||
46 | |||
47 | - npages = (data_len + (PAGE_SIZE - 1)) >> PAGE_SHIFT; | ||
48 | skb->truesize += data_len; | ||
49 | skb_shinfo(skb)->nr_frags = npages; | ||
50 | for (i = 0; i < npages; i++) { | ||
51 | -- | ||
52 | 1.7.10 | ||
53 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0030-cipso-handle-CIPSO-options-correctly-when-NetLabel-i.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0030-cipso-handle-CIPSO-options-correctly-when-NetLabel-i.patch new file mode 100644 index 00000000..8310ad90 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0030-cipso-handle-CIPSO-options-correctly-when-NetLabel-i.patch | |||
@@ -0,0 +1,80 @@ | |||
1 | From e3e2beb00731e994722f01a1c284e3bcc69264ba Mon Sep 17 00:00:00 2001 | ||
2 | From: Paul Moore <pmoore@redhat.com> | ||
3 | Date: Fri, 1 Jun 2012 05:54:56 +0000 | ||
4 | Subject: [PATCH 30/49] cipso: handle CIPSO options correctly when NetLabel is | ||
5 | disabled | ||
6 | |||
7 | [ Upstream commit 20e2a86485967c385d7c7befc1646e4d1d39362e ] | ||
8 | |||
9 | When NetLabel is not enabled, e.g. CONFIG_NETLABEL=n, and the system | ||
10 | receives a CIPSO tagged packet it is dropped (cipso_v4_validate() | ||
11 | returns non-zero). In most cases this is the correct and desired | ||
12 | behavior, however, in the case where we are simply forwarding the | ||
13 | traffic, e.g. acting as a network bridge, this becomes a problem. | ||
14 | |||
15 | This patch fixes the forwarding problem by providing the basic CIPSO | ||
16 | validation code directly in ip_options_compile() without the need for | ||
17 | the NetLabel or CIPSO code. The new validation code can not perform | ||
18 | any of the CIPSO option label/value verification that | ||
19 | cipso_v4_validate() does, but it can verify the basic CIPSO option | ||
20 | format. | ||
21 | |||
22 | The behavior when NetLabel is enabled is unchanged. | ||
23 | |||
24 | Signed-off-by: Paul Moore <pmoore@redhat.com> | ||
25 | Signed-off-by: David S. Miller <davem@davemloft.net> | ||
26 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
27 | --- | ||
28 | include/net/cipso_ipv4.h | 29 ++++++++++++++++++++++++++++- | ||
29 | 1 file changed, 28 insertions(+), 1 deletion(-) | ||
30 | |||
31 | diff --git a/include/net/cipso_ipv4.h b/include/net/cipso_ipv4.h | ||
32 | index 9808877..a7a683e 100644 | ||
33 | --- a/include/net/cipso_ipv4.h | ||
34 | +++ b/include/net/cipso_ipv4.h | ||
35 | @@ -42,6 +42,7 @@ | ||
36 | #include <net/netlabel.h> | ||
37 | #include <net/request_sock.h> | ||
38 | #include <linux/atomic.h> | ||
39 | +#include <asm/unaligned.h> | ||
40 | |||
41 | /* known doi values */ | ||
42 | #define CIPSO_V4_DOI_UNKNOWN 0x00000000 | ||
43 | @@ -285,7 +286,33 @@ static inline int cipso_v4_skbuff_getattr(const struct sk_buff *skb, | ||
44 | static inline int cipso_v4_validate(const struct sk_buff *skb, | ||
45 | unsigned char **option) | ||
46 | { | ||
47 | - return -ENOSYS; | ||
48 | + unsigned char *opt = *option; | ||
49 | + unsigned char err_offset = 0; | ||
50 | + u8 opt_len = opt[1]; | ||
51 | + u8 opt_iter; | ||
52 | + | ||
53 | + if (opt_len < 8) { | ||
54 | + err_offset = 1; | ||
55 | + goto out; | ||
56 | + } | ||
57 | + | ||
58 | + if (get_unaligned_be32(&opt[2]) == 0) { | ||
59 | + err_offset = 2; | ||
60 | + goto out; | ||
61 | + } | ||
62 | + | ||
63 | + for (opt_iter = 6; opt_iter < opt_len;) { | ||
64 | + if (opt[opt_iter + 1] > (opt_len - opt_iter)) { | ||
65 | + err_offset = opt_iter + 1; | ||
66 | + goto out; | ||
67 | + } | ||
68 | + opt_iter += opt[opt_iter + 1]; | ||
69 | + } | ||
70 | + | ||
71 | +out: | ||
72 | + *option = opt + err_offset; | ||
73 | + return err_offset; | ||
74 | + | ||
75 | } | ||
76 | #endif /* CONFIG_NETLABEL */ | ||
77 | |||
78 | -- | ||
79 | 1.7.10 | ||
80 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0031-net-l2tp_eth-fix-kernel-panic-on-rmmod-l2tp_eth.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0031-net-l2tp_eth-fix-kernel-panic-on-rmmod-l2tp_eth.patch new file mode 100644 index 00000000..27a349bf --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0031-net-l2tp_eth-fix-kernel-panic-on-rmmod-l2tp_eth.patch | |||
@@ -0,0 +1,43 @@ | |||
1 | From b5ad3a0c0628afa77ab9de116e252fbac91f6db2 Mon Sep 17 00:00:00 2001 | ||
2 | From: Eric Dumazet <edumazet@google.com> | ||
3 | Date: Thu, 7 Jun 2012 00:07:20 +0000 | ||
4 | Subject: [PATCH 31/49] net: l2tp_eth: fix kernel panic on rmmod l2tp_eth | ||
5 | |||
6 | [ Upstream commit a06998b88b1651c5f71c0e35f528bf2057188ead ] | ||
7 | |||
8 | We must prevent module unloading if some devices are still attached to | ||
9 | l2tp_eth driver. | ||
10 | |||
11 | Signed-off-by: Eric Dumazet <edumazet@google.com> | ||
12 | Reported-by: Denys Fedoryshchenko <denys@visp.net.lb> | ||
13 | Tested-by: Denys Fedoryshchenko <denys@visp.net.lb> | ||
14 | Cc: James Chapman <jchapman@katalix.com> | ||
15 | Signed-off-by: David S. Miller <davem@davemloft.net> | ||
16 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
17 | --- | ||
18 | net/l2tp/l2tp_eth.c | 2 ++ | ||
19 | 1 file changed, 2 insertions(+) | ||
20 | |||
21 | diff --git a/net/l2tp/l2tp_eth.c b/net/l2tp/l2tp_eth.c | ||
22 | index d2726a7..3c55f63 100644 | ||
23 | --- a/net/l2tp/l2tp_eth.c | ||
24 | +++ b/net/l2tp/l2tp_eth.c | ||
25 | @@ -167,6 +167,7 @@ static void l2tp_eth_delete(struct l2tp_session *session) | ||
26 | if (dev) { | ||
27 | unregister_netdev(dev); | ||
28 | spriv->dev = NULL; | ||
29 | + module_put(THIS_MODULE); | ||
30 | } | ||
31 | } | ||
32 | } | ||
33 | @@ -254,6 +255,7 @@ static int l2tp_eth_create(struct net *net, u32 tunnel_id, u32 session_id, u32 p | ||
34 | if (rc < 0) | ||
35 | goto out_del_dev; | ||
36 | |||
37 | + __module_get(THIS_MODULE); | ||
38 | /* Must be done after register_netdev() */ | ||
39 | strlcpy(session->ifname, dev->name, IFNAMSIZ); | ||
40 | |||
41 | -- | ||
42 | 1.7.10 | ||
43 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0032-l2tp-fix-a-race-in-l2tp_ip_sendmsg.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0032-l2tp-fix-a-race-in-l2tp_ip_sendmsg.patch new file mode 100644 index 00000000..60f8a9d5 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0032-l2tp-fix-a-race-in-l2tp_ip_sendmsg.patch | |||
@@ -0,0 +1,53 @@ | |||
1 | From a2ee8c14e43a7432b50a050cd07c06d43caa9314 Mon Sep 17 00:00:00 2001 | ||
2 | From: Eric Dumazet <edumazet@google.com> | ||
3 | Date: Fri, 8 Jun 2012 06:25:00 +0000 | ||
4 | Subject: [PATCH 32/49] l2tp: fix a race in l2tp_ip_sendmsg() | ||
5 | |||
6 | [ Upstream commit 4399a4df98a63e30fd16e9d0cecc46ea92269e8f ] | ||
7 | |||
8 | Commit 081b1b1bb27f (l2tp: fix l2tp_ip_sendmsg() route handling) added | ||
9 | a race, in case IP route cache is disabled. | ||
10 | |||
11 | In this case, we should not do the dst_release(&rt->dst), since it'll | ||
12 | free the dst immediately, instead of waiting a RCU grace period. | ||
13 | |||
14 | Signed-off-by: Eric Dumazet <edumazet@google.com> | ||
15 | Cc: James Chapman <jchapman@katalix.com> | ||
16 | Cc: Denys Fedoryshchenko <denys@visp.net.lb> | ||
17 | Signed-off-by: David S. Miller <davem@davemloft.net> | ||
18 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
19 | --- | ||
20 | net/l2tp/l2tp_ip.c | 9 ++++++--- | ||
21 | 1 file changed, 6 insertions(+), 3 deletions(-) | ||
22 | |||
23 | diff --git a/net/l2tp/l2tp_ip.c b/net/l2tp/l2tp_ip.c | ||
24 | index 2fbbe1f..6c7e609 100644 | ||
25 | --- a/net/l2tp/l2tp_ip.c | ||
26 | +++ b/net/l2tp/l2tp_ip.c | ||
27 | @@ -515,10 +515,12 @@ static int l2tp_ip_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *m | ||
28 | sk->sk_bound_dev_if); | ||
29 | if (IS_ERR(rt)) | ||
30 | goto no_route; | ||
31 | - if (connected) | ||
32 | + if (connected) { | ||
33 | sk_setup_caps(sk, &rt->dst); | ||
34 | - else | ||
35 | - dst_release(&rt->dst); /* safe since we hold rcu_read_lock */ | ||
36 | + } else { | ||
37 | + skb_dst_set(skb, &rt->dst); | ||
38 | + goto xmit; | ||
39 | + } | ||
40 | } | ||
41 | |||
42 | /* We dont need to clone dst here, it is guaranteed to not disappear. | ||
43 | @@ -526,6 +528,7 @@ static int l2tp_ip_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *m | ||
44 | */ | ||
45 | skb_dst_set_noref(skb, &rt->dst); | ||
46 | |||
47 | +xmit: | ||
48 | /* Queue the packet to IP for output */ | ||
49 | rc = ip_queue_xmit(skb, &inet->cork.fl); | ||
50 | rcu_read_unlock(); | ||
51 | -- | ||
52 | 1.7.10 | ||
53 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0033-sky2-fix-checksum-bit-management-on-some-chips.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0033-sky2-fix-checksum-bit-management-on-some-chips.patch new file mode 100644 index 00000000..f1d1fb6c --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0033-sky2-fix-checksum-bit-management-on-some-chips.patch | |||
@@ -0,0 +1,47 @@ | |||
1 | From f13b66c5fac7aa65e68a960806d6c5e97df723eb Mon Sep 17 00:00:00 2001 | ||
2 | From: stephen hemminger <shemminger@vyatta.com> | ||
3 | Date: Wed, 6 Jun 2012 10:01:30 +0000 | ||
4 | Subject: [PATCH 33/49] sky2: fix checksum bit management on some chips | ||
5 | |||
6 | [ Upstream commit 5ff0feac88ced864f44adb145142269196fa79d9 ] | ||
7 | |||
8 | The newer flavors of Yukon II use a different method for receive | ||
9 | checksum offload. This is indicated in the driver by the SKY2_HW_NEW_LE | ||
10 | flag. On these newer chips, the BMU_ENA_RX_CHKSUM should not be set. | ||
11 | |||
12 | The driver would get incorrectly toggle the bit, enabling the old | ||
13 | checksum logic on these chips and cause a BUG_ON() assertion. If | ||
14 | receive checksum was toggled via ethtool. | ||
15 | |||
16 | Reported-by: Kirill Smelkov <kirr@mns.spb.ru> | ||
17 | Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> | ||
18 | Signed-off-by: David S. Miller <davem@davemloft.net> | ||
19 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
20 | --- | ||
21 | drivers/net/ethernet/marvell/sky2.c | 10 ++++++---- | ||
22 | 1 file changed, 6 insertions(+), 4 deletions(-) | ||
23 | |||
24 | diff --git a/drivers/net/ethernet/marvell/sky2.c b/drivers/net/ethernet/marvell/sky2.c | ||
25 | index 65c51ff..11ddd838 100644 | ||
26 | --- a/drivers/net/ethernet/marvell/sky2.c | ||
27 | +++ b/drivers/net/ethernet/marvell/sky2.c | ||
28 | @@ -4361,10 +4361,12 @@ static int sky2_set_features(struct net_device *dev, u32 features) | ||
29 | struct sky2_port *sky2 = netdev_priv(dev); | ||
30 | u32 changed = dev->features ^ features; | ||
31 | |||
32 | - if (changed & NETIF_F_RXCSUM) { | ||
33 | - u32 on = features & NETIF_F_RXCSUM; | ||
34 | - sky2_write32(sky2->hw, Q_ADDR(rxqaddr[sky2->port], Q_CSR), | ||
35 | - on ? BMU_ENA_RX_CHKSUM : BMU_DIS_RX_CHKSUM); | ||
36 | + if ((changed & NETIF_F_RXCSUM) && | ||
37 | + !(sky2->hw->flags & SKY2_HW_NEW_LE)) { | ||
38 | + sky2_write32(sky2->hw, | ||
39 | + Q_ADDR(rxqaddr[sky2->port], Q_CSR), | ||
40 | + (features & NETIF_F_RXCSUM) | ||
41 | + ? BMU_ENA_RX_CHKSUM : BMU_DIS_RX_CHKSUM); | ||
42 | } | ||
43 | |||
44 | if (changed & NETIF_F_RXHASH) | ||
45 | -- | ||
46 | 1.7.10 | ||
47 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0034-be2net-fix-a-race-in-be_xmit.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0034-be2net-fix-a-race-in-be_xmit.patch new file mode 100644 index 00000000..c67c72a3 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0034-be2net-fix-a-race-in-be_xmit.patch | |||
@@ -0,0 +1,44 @@ | |||
1 | From 5588c981e9bc21ca9bd050a8e15feb4adb1215b9 Mon Sep 17 00:00:00 2001 | ||
2 | From: Eric Dumazet <edumazet@google.com> | ||
3 | Date: Thu, 7 Jun 2012 22:59:59 +0000 | ||
4 | Subject: [PATCH 34/49] be2net: fix a race in be_xmit() | ||
5 | |||
6 | [ Upstream commit cd8f76c0a0c6fce0b2cf23c9bd0123f91453f46d ] | ||
7 | |||
8 | As soon as hardware is notified of a transmit, we no longer can assume | ||
9 | skb can be dereferenced, as TX completion might have freed the packet. | ||
10 | |||
11 | Signed-off-by: Eric Dumazet <edumazet@google.com> | ||
12 | Cc: Sathya Perla <sathya.perla@emulex.com> | ||
13 | Signed-off-by: David S. Miller <davem@davemloft.net> | ||
14 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
15 | --- | ||
16 | drivers/net/ethernet/emulex/benet/be_main.c | 5 +++-- | ||
17 | 1 file changed, 3 insertions(+), 2 deletions(-) | ||
18 | |||
19 | diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c | ||
20 | index bf266a0..36c7c4e 100644 | ||
21 | --- a/drivers/net/ethernet/emulex/benet/be_main.c | ||
22 | +++ b/drivers/net/ethernet/emulex/benet/be_main.c | ||
23 | @@ -696,6 +696,8 @@ static netdev_tx_t be_xmit(struct sk_buff *skb, | ||
24 | |||
25 | copied = make_tx_wrbs(adapter, txq, skb, wrb_cnt, dummy_wrb); | ||
26 | if (copied) { | ||
27 | + int gso_segs = skb_shinfo(skb)->gso_segs; | ||
28 | + | ||
29 | /* record the sent skb in the sent_skb table */ | ||
30 | BUG_ON(txo->sent_skb_list[start]); | ||
31 | txo->sent_skb_list[start] = skb; | ||
32 | @@ -713,8 +715,7 @@ static netdev_tx_t be_xmit(struct sk_buff *skb, | ||
33 | |||
34 | be_txq_notify(adapter, txq->id, wrb_cnt); | ||
35 | |||
36 | - be_tx_stats_update(txo, wrb_cnt, copied, | ||
37 | - skb_shinfo(skb)->gso_segs, stopped); | ||
38 | + be_tx_stats_update(txo, wrb_cnt, copied, gso_segs, stopped); | ||
39 | } else { | ||
40 | txq->head = start; | ||
41 | dev_kfree_skb_any(skb); | ||
42 | -- | ||
43 | 1.7.10 | ||
44 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0035-dummy-fix-rcu_sched-self-detected-stalls.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0035-dummy-fix-rcu_sched-self-detected-stalls.patch new file mode 100644 index 00000000..33f9ffa0 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0035-dummy-fix-rcu_sched-self-detected-stalls.patch | |||
@@ -0,0 +1,49 @@ | |||
1 | From 6e4b4fb46ccc49cacb3258764f2414ecd4fb27a4 Mon Sep 17 00:00:00 2001 | ||
2 | From: Eric Dumazet <edumazet@google.com> | ||
3 | Date: Sun, 10 Jun 2012 21:11:57 +0000 | ||
4 | Subject: [PATCH 35/49] dummy: fix rcu_sched self-detected stalls | ||
5 | |||
6 | [ Upstream commit 16b0dc29c1af9df341428f4c49ada4f626258082 ] | ||
7 | |||
8 | Trying to "modprobe dummy numdummies=30000" triggers : | ||
9 | |||
10 | INFO: rcu_sched self-detected stall on CPU { 8} (t=60000 jiffies) | ||
11 | |||
12 | After this splat, RTNL is locked and reboot is needed. | ||
13 | |||
14 | We must call cond_resched() to avoid this, even holding RTNL. | ||
15 | |||
16 | Signed-off-by: Eric Dumazet <edumazet@google.com> | ||
17 | Signed-off-by: David S. Miller <davem@davemloft.net> | ||
18 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
19 | --- | ||
20 | drivers/net/dummy.c | 5 ++++- | ||
21 | 1 file changed, 4 insertions(+), 1 deletion(-) | ||
22 | |||
23 | diff --git a/drivers/net/dummy.c b/drivers/net/dummy.c | ||
24 | index eeac9ca..68fe73c 100644 | ||
25 | --- a/drivers/net/dummy.c | ||
26 | +++ b/drivers/net/dummy.c | ||
27 | @@ -37,6 +37,7 @@ | ||
28 | #include <linux/rtnetlink.h> | ||
29 | #include <net/rtnetlink.h> | ||
30 | #include <linux/u64_stats_sync.h> | ||
31 | +#include <linux/sched.h> | ||
32 | |||
33 | static int numdummies = 1; | ||
34 | |||
35 | @@ -186,8 +187,10 @@ static int __init dummy_init_module(void) | ||
36 | rtnl_lock(); | ||
37 | err = __rtnl_link_register(&dummy_link_ops); | ||
38 | |||
39 | - for (i = 0; i < numdummies && !err; i++) | ||
40 | + for (i = 0; i < numdummies && !err; i++) { | ||
41 | err = dummy_init_one(); | ||
42 | + cond_resched(); | ||
43 | + } | ||
44 | if (err < 0) | ||
45 | __rtnl_link_unregister(&dummy_link_ops); | ||
46 | rtnl_unlock(); | ||
47 | -- | ||
48 | 1.7.10 | ||
49 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0036-bonding-Fix-corrupted-queue_mapping.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0036-bonding-Fix-corrupted-queue_mapping.patch new file mode 100644 index 00000000..6f9681c5 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0036-bonding-Fix-corrupted-queue_mapping.patch | |||
@@ -0,0 +1,117 @@ | |||
1 | From 218ae95441a945d2a474b2277156749f416b8859 Mon Sep 17 00:00:00 2001 | ||
2 | From: Eric Dumazet <edumazet@google.com> | ||
3 | Date: Tue, 12 Jun 2012 06:03:51 +0000 | ||
4 | Subject: [PATCH 36/49] bonding: Fix corrupted queue_mapping | ||
5 | |||
6 | [ Upstream commit 5ee31c6898ea5537fcea160999d60dc63bc0c305 ] | ||
7 | |||
8 | In the transmit path of the bonding driver, skb->cb is used to | ||
9 | stash the skb->queue_mapping so that the bonding device can set its | ||
10 | own queue mapping. This value becomes corrupted since the skb->cb is | ||
11 | also used in __dev_xmit_skb. | ||
12 | |||
13 | When transmitting through bonding driver, bond_select_queue is | ||
14 | called from dev_queue_xmit. In bond_select_queue the original | ||
15 | skb->queue_mapping is copied into skb->cb (via bond_queue_mapping) | ||
16 | and skb->queue_mapping is overwritten with the bond driver queue. | ||
17 | |||
18 | Subsequently in dev_queue_xmit, __dev_xmit_skb is called which writes | ||
19 | the packet length into skb->cb, thereby overwriting the stashed | ||
20 | queue mappping. In bond_dev_queue_xmit (called from hard_start_xmit), | ||
21 | the queue mapping for the skb is set to the stashed value which is now | ||
22 | the skb length and hence is an invalid queue for the slave device. | ||
23 | |||
24 | If we want to save skb->queue_mapping into skb->cb[], best place is to | ||
25 | add a field in struct qdisc_skb_cb, to make sure it wont conflict with | ||
26 | other layers (eg : Qdiscc, Infiniband...) | ||
27 | |||
28 | This patchs also makes sure (struct qdisc_skb_cb)->data is aligned on 8 | ||
29 | bytes : | ||
30 | |||
31 | netem qdisc for example assumes it can store an u64 in it, without | ||
32 | misalignment penalty. | ||
33 | |||
34 | Note : we only have 20 bytes left in (struct qdisc_skb_cb)->data[]. | ||
35 | The largest user is CHOKe and it fills it. | ||
36 | |||
37 | Based on a previous patch from Tom Herbert. | ||
38 | |||
39 | Signed-off-by: Eric Dumazet <edumazet@google.com> | ||
40 | Reported-by: Tom Herbert <therbert@google.com> | ||
41 | Cc: John Fastabend <john.r.fastabend@intel.com> | ||
42 | Cc: Roland Dreier <roland@kernel.org> | ||
43 | Acked-by: Neil Horman <nhorman@tuxdriver.com> | ||
44 | Signed-off-by: David S. Miller <davem@davemloft.net> | ||
45 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
46 | --- | ||
47 | drivers/net/bonding/bond_main.c | 9 +++++---- | ||
48 | include/net/sch_generic.h | 7 +++++-- | ||
49 | 2 files changed, 10 insertions(+), 6 deletions(-) | ||
50 | |||
51 | diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c | ||
52 | index f65e0b9..1a88e38 100644 | ||
53 | --- a/drivers/net/bonding/bond_main.c | ||
54 | +++ b/drivers/net/bonding/bond_main.c | ||
55 | @@ -77,6 +77,7 @@ | ||
56 | #include <net/route.h> | ||
57 | #include <net/net_namespace.h> | ||
58 | #include <net/netns/generic.h> | ||
59 | +#include <net/pkt_sched.h> | ||
60 | #include "bonding.h" | ||
61 | #include "bond_3ad.h" | ||
62 | #include "bond_alb.h" | ||
63 | @@ -382,8 +383,6 @@ struct vlan_entry *bond_next_vlan(struct bonding *bond, struct vlan_entry *curr) | ||
64 | return next; | ||
65 | } | ||
66 | |||
67 | -#define bond_queue_mapping(skb) (*(u16 *)((skb)->cb)) | ||
68 | - | ||
69 | /** | ||
70 | * bond_dev_queue_xmit - Prepare skb for xmit. | ||
71 | * | ||
72 | @@ -396,7 +395,9 @@ int bond_dev_queue_xmit(struct bonding *bond, struct sk_buff *skb, | ||
73 | { | ||
74 | skb->dev = slave_dev; | ||
75 | |||
76 | - skb->queue_mapping = bond_queue_mapping(skb); | ||
77 | + BUILD_BUG_ON(sizeof(skb->queue_mapping) != | ||
78 | + sizeof(qdisc_skb_cb(skb)->bond_queue_mapping)); | ||
79 | + skb->queue_mapping = qdisc_skb_cb(skb)->bond_queue_mapping; | ||
80 | |||
81 | if (unlikely(netpoll_tx_running(slave_dev))) | ||
82 | bond_netpoll_send_skb(bond_get_slave_by_dev(bond, slave_dev), skb); | ||
83 | @@ -4151,7 +4152,7 @@ static u16 bond_select_queue(struct net_device *dev, struct sk_buff *skb) | ||
84 | /* | ||
85 | * Save the original txq to restore before passing to the driver | ||
86 | */ | ||
87 | - bond_queue_mapping(skb) = skb->queue_mapping; | ||
88 | + qdisc_skb_cb(skb)->bond_queue_mapping = skb->queue_mapping; | ||
89 | |||
90 | if (unlikely(txq >= dev->real_num_tx_queues)) { | ||
91 | do { | ||
92 | diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h | ||
93 | index 55ce96b..9d7d54a 100644 | ||
94 | --- a/include/net/sch_generic.h | ||
95 | +++ b/include/net/sch_generic.h | ||
96 | @@ -220,13 +220,16 @@ struct tcf_proto { | ||
97 | |||
98 | struct qdisc_skb_cb { | ||
99 | unsigned int pkt_len; | ||
100 | - unsigned char data[24]; | ||
101 | + u16 bond_queue_mapping; | ||
102 | + u16 _pad; | ||
103 | + unsigned char data[20]; | ||
104 | }; | ||
105 | |||
106 | static inline void qdisc_cb_private_validate(const struct sk_buff *skb, int sz) | ||
107 | { | ||
108 | struct qdisc_skb_cb *qcb; | ||
109 | - BUILD_BUG_ON(sizeof(skb->cb) < sizeof(unsigned int) + sz); | ||
110 | + | ||
111 | + BUILD_BUG_ON(sizeof(skb->cb) < offsetof(struct qdisc_skb_cb, data) + sz); | ||
112 | BUILD_BUG_ON(sizeof(qcb->data) < sz); | ||
113 | } | ||
114 | |||
115 | -- | ||
116 | 1.7.10 | ||
117 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0037-ethtool-allow-ETHTOOL_GSSET_INFO-for-users.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0037-ethtool-allow-ETHTOOL_GSSET_INFO-for-users.patch new file mode 100644 index 00000000..6e02ce17 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0037-ethtool-allow-ETHTOOL_GSSET_INFO-for-users.patch | |||
@@ -0,0 +1,36 @@ | |||
1 | From 7d1a3b73b1d85f034aeb9e5c1e4eb44ce56658be Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <mirq-linux@rere.qmqm.pl> | ||
3 | Date: Sun, 22 Jan 2012 00:20:40 +0000 | ||
4 | Subject: [PATCH 37/49] ethtool: allow ETHTOOL_GSSET_INFO for users | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | [ Upstream commit f80400a26a2e8bff541de12834a1134358bb6642 ] | ||
10 | |||
11 | Allow ETHTOOL_GSSET_INFO ethtool ioctl() for unprivileged users. | ||
12 | ETHTOOL_GSTRINGS is already allowed, but is unusable without this one. | ||
13 | |||
14 | Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> | ||
15 | Acked-by: Ben Hutchings <bhutchings@solarflare.com> | ||
16 | Signed-off-by: David S. Miller <davem@davemloft.net> | ||
17 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
18 | --- | ||
19 | net/core/ethtool.c | 1 + | ||
20 | 1 file changed, 1 insertion(+) | ||
21 | |||
22 | diff --git a/net/core/ethtool.c b/net/core/ethtool.c | ||
23 | index 2b587ec..2367246 100644 | ||
24 | --- a/net/core/ethtool.c | ||
25 | +++ b/net/core/ethtool.c | ||
26 | @@ -1672,6 +1672,7 @@ int dev_ethtool(struct net *net, struct ifreq *ifr) | ||
27 | case ETHTOOL_GRXCSUM: | ||
28 | case ETHTOOL_GTXCSUM: | ||
29 | case ETHTOOL_GSG: | ||
30 | + case ETHTOOL_GSSET_INFO: | ||
31 | case ETHTOOL_GSTRINGS: | ||
32 | case ETHTOOL_GTSO: | ||
33 | case ETHTOOL_GPERMADDR: | ||
34 | -- | ||
35 | 1.7.10 | ||
36 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0038-netpoll-fix-netpoll_send_udp-bugs.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0038-netpoll-fix-netpoll_send_udp-bugs.patch new file mode 100644 index 00000000..e9062460 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0038-netpoll-fix-netpoll_send_udp-bugs.patch | |||
@@ -0,0 +1,77 @@ | |||
1 | From 1757946f8c246a1b46bf27d40716d4f78145f4a1 Mon Sep 17 00:00:00 2001 | ||
2 | From: Eric Dumazet <edumazet@google.com> | ||
3 | Date: Tue, 12 Jun 2012 19:30:21 +0000 | ||
4 | Subject: [PATCH 38/49] netpoll: fix netpoll_send_udp() bugs | ||
5 | |||
6 | [ Upstream commit 954fba0274058d27c7c07b5ea07c41b3b7477894 ] | ||
7 | |||
8 | Bogdan Hamciuc diagnosed and fixed following bug in netpoll_send_udp() : | ||
9 | |||
10 | "skb->len += len;" instead of "skb_put(skb, len);" | ||
11 | |||
12 | Meaning that _if_ a network driver needs to call skb_realloc_headroom(), | ||
13 | only packet headers would be copied, leaving garbage in the payload. | ||
14 | |||
15 | However the skb_realloc_headroom() must be avoided as much as possible | ||
16 | since it requires memory and netpoll tries hard to work even if memory | ||
17 | is exhausted (using a pool of preallocated skbs) | ||
18 | |||
19 | It appears netpoll_send_udp() reserved 16 bytes for the ethernet header, | ||
20 | which happens to work for typicall drivers but not all. | ||
21 | |||
22 | Right thing is to use LL_RESERVED_SPACE(dev) | ||
23 | (And also add dev->needed_tailroom of tailroom) | ||
24 | |||
25 | This patch combines both fixes. | ||
26 | |||
27 | Many thanks to Bogdan for raising this issue. | ||
28 | |||
29 | Reported-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> | ||
30 | Signed-off-by: Eric Dumazet <edumazet@google.com> | ||
31 | Tested-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> | ||
32 | Cc: Herbert Xu <herbert@gondor.apana.org.au> | ||
33 | Cc: Neil Horman <nhorman@tuxdriver.com> | ||
34 | Reviewed-by: Neil Horman <nhorman@tuxdriver.com> | ||
35 | Reviewed-by: Cong Wang <xiyou.wangcong@gmail.com> | ||
36 | Signed-off-by: David S. Miller <davem@davemloft.net> | ||
37 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
38 | --- | ||
39 | net/core/netpoll.c | 11 ++++++----- | ||
40 | 1 file changed, 6 insertions(+), 5 deletions(-) | ||
41 | |||
42 | diff --git a/net/core/netpoll.c b/net/core/netpoll.c | ||
43 | index ab0633f..db4bb7a 100644 | ||
44 | --- a/net/core/netpoll.c | ||
45 | +++ b/net/core/netpoll.c | ||
46 | @@ -351,22 +351,23 @@ EXPORT_SYMBOL(netpoll_send_skb_on_dev); | ||
47 | |||
48 | void netpoll_send_udp(struct netpoll *np, const char *msg, int len) | ||
49 | { | ||
50 | - int total_len, eth_len, ip_len, udp_len; | ||
51 | + int total_len, ip_len, udp_len; | ||
52 | struct sk_buff *skb; | ||
53 | struct udphdr *udph; | ||
54 | struct iphdr *iph; | ||
55 | struct ethhdr *eth; | ||
56 | |||
57 | udp_len = len + sizeof(*udph); | ||
58 | - ip_len = eth_len = udp_len + sizeof(*iph); | ||
59 | - total_len = eth_len + ETH_HLEN + NET_IP_ALIGN; | ||
60 | + ip_len = udp_len + sizeof(*iph); | ||
61 | + total_len = ip_len + LL_RESERVED_SPACE(np->dev); | ||
62 | |||
63 | - skb = find_skb(np, total_len, total_len - len); | ||
64 | + skb = find_skb(np, total_len + np->dev->needed_tailroom, | ||
65 | + total_len - len); | ||
66 | if (!skb) | ||
67 | return; | ||
68 | |||
69 | skb_copy_to_linear_data(skb, msg, len); | ||
70 | - skb->len += len; | ||
71 | + skb_put(skb, len); | ||
72 | |||
73 | skb_push(skb, sizeof(*udph)); | ||
74 | skb_reset_transport_header(skb); | ||
75 | -- | ||
76 | 1.7.10 | ||
77 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0039-ipv6-Move-ipv6-proc-file-registration-to-end-of-init.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0039-ipv6-Move-ipv6-proc-file-registration-to-end-of-init.patch new file mode 100644 index 00000000..202fca3c --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0039-ipv6-Move-ipv6-proc-file-registration-to-end-of-init.patch | |||
@@ -0,0 +1,126 @@ | |||
1 | From 0991f9681e1142099a36959648a920e9ee9dda33 Mon Sep 17 00:00:00 2001 | ||
2 | From: Thomas Graf <tgraf@suug.ch> | ||
3 | Date: Mon, 18 Jun 2012 12:08:33 +0000 | ||
4 | Subject: [PATCH 39/49] ipv6: Move ipv6 proc file registration to end of init | ||
5 | order | ||
6 | |||
7 | [ Upstream commit d189634ecab947c10f6f832258b103d0bbfe73cc ] | ||
8 | |||
9 | /proc/net/ipv6_route reflects the contents of fib_table_hash. The proc | ||
10 | handler is installed in ip6_route_net_init() whereas fib_table_hash is | ||
11 | allocated in fib6_net_init() _after_ the proc handler has been installed. | ||
12 | |||
13 | This opens up a short time frame to access fib_table_hash with its pants | ||
14 | down. | ||
15 | |||
16 | Move the registration of the proc files to a later point in the init | ||
17 | order to avoid the race. | ||
18 | |||
19 | Tested :-) | ||
20 | |||
21 | Signed-off-by: Thomas Graf <tgraf@suug.ch> | ||
22 | Signed-off-by: David S. Miller <davem@davemloft.net> | ||
23 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
24 | --- | ||
25 | net/ipv6/route.c | 41 +++++++++++++++++++++++++++++++---------- | ||
26 | 1 file changed, 31 insertions(+), 10 deletions(-) | ||
27 | |||
28 | diff --git a/net/ipv6/route.c b/net/ipv6/route.c | ||
29 | index 059b9d9..2e21751 100644 | ||
30 | --- a/net/ipv6/route.c | ||
31 | +++ b/net/ipv6/route.c | ||
32 | @@ -2881,10 +2881,6 @@ static int __net_init ip6_route_net_init(struct net *net) | ||
33 | net->ipv6.sysctl.ip6_rt_mtu_expires = 10*60*HZ; | ||
34 | net->ipv6.sysctl.ip6_rt_min_advmss = IPV6_MIN_MTU - 20 - 40; | ||
35 | |||
36 | -#ifdef CONFIG_PROC_FS | ||
37 | - proc_net_fops_create(net, "ipv6_route", 0, &ipv6_route_proc_fops); | ||
38 | - proc_net_fops_create(net, "rt6_stats", S_IRUGO, &rt6_stats_seq_fops); | ||
39 | -#endif | ||
40 | net->ipv6.ip6_rt_gc_expire = 30*HZ; | ||
41 | |||
42 | ret = 0; | ||
43 | @@ -2905,10 +2901,6 @@ out_ip6_dst_ops: | ||
44 | |||
45 | static void __net_exit ip6_route_net_exit(struct net *net) | ||
46 | { | ||
47 | -#ifdef CONFIG_PROC_FS | ||
48 | - proc_net_remove(net, "ipv6_route"); | ||
49 | - proc_net_remove(net, "rt6_stats"); | ||
50 | -#endif | ||
51 | kfree(net->ipv6.ip6_null_entry); | ||
52 | #ifdef CONFIG_IPV6_MULTIPLE_TABLES | ||
53 | kfree(net->ipv6.ip6_prohibit_entry); | ||
54 | @@ -2917,11 +2909,33 @@ static void __net_exit ip6_route_net_exit(struct net *net) | ||
55 | dst_entries_destroy(&net->ipv6.ip6_dst_ops); | ||
56 | } | ||
57 | |||
58 | +static int __net_init ip6_route_net_init_late(struct net *net) | ||
59 | +{ | ||
60 | +#ifdef CONFIG_PROC_FS | ||
61 | + proc_net_fops_create(net, "ipv6_route", 0, &ipv6_route_proc_fops); | ||
62 | + proc_net_fops_create(net, "rt6_stats", S_IRUGO, &rt6_stats_seq_fops); | ||
63 | +#endif | ||
64 | + return 0; | ||
65 | +} | ||
66 | + | ||
67 | +static void __net_exit ip6_route_net_exit_late(struct net *net) | ||
68 | +{ | ||
69 | +#ifdef CONFIG_PROC_FS | ||
70 | + proc_net_remove(net, "ipv6_route"); | ||
71 | + proc_net_remove(net, "rt6_stats"); | ||
72 | +#endif | ||
73 | +} | ||
74 | + | ||
75 | static struct pernet_operations ip6_route_net_ops = { | ||
76 | .init = ip6_route_net_init, | ||
77 | .exit = ip6_route_net_exit, | ||
78 | }; | ||
79 | |||
80 | +static struct pernet_operations ip6_route_net_late_ops = { | ||
81 | + .init = ip6_route_net_init_late, | ||
82 | + .exit = ip6_route_net_exit_late, | ||
83 | +}; | ||
84 | + | ||
85 | static struct notifier_block ip6_route_dev_notifier = { | ||
86 | .notifier_call = ip6_route_dev_notify, | ||
87 | .priority = 0, | ||
88 | @@ -2971,19 +2985,25 @@ int __init ip6_route_init(void) | ||
89 | if (ret) | ||
90 | goto xfrm6_init; | ||
91 | |||
92 | + ret = register_pernet_subsys(&ip6_route_net_late_ops); | ||
93 | + if (ret) | ||
94 | + goto fib6_rules_init; | ||
95 | + | ||
96 | ret = -ENOBUFS; | ||
97 | if (__rtnl_register(PF_INET6, RTM_NEWROUTE, inet6_rtm_newroute, NULL, NULL) || | ||
98 | __rtnl_register(PF_INET6, RTM_DELROUTE, inet6_rtm_delroute, NULL, NULL) || | ||
99 | __rtnl_register(PF_INET6, RTM_GETROUTE, inet6_rtm_getroute, NULL, NULL)) | ||
100 | - goto fib6_rules_init; | ||
101 | + goto out_register_late_subsys; | ||
102 | |||
103 | ret = register_netdevice_notifier(&ip6_route_dev_notifier); | ||
104 | if (ret) | ||
105 | - goto fib6_rules_init; | ||
106 | + goto out_register_late_subsys; | ||
107 | |||
108 | out: | ||
109 | return ret; | ||
110 | |||
111 | +out_register_late_subsys: | ||
112 | + unregister_pernet_subsys(&ip6_route_net_late_ops); | ||
113 | fib6_rules_init: | ||
114 | fib6_rules_cleanup(); | ||
115 | xfrm6_init: | ||
116 | @@ -3002,6 +3022,7 @@ out_kmem_cache: | ||
117 | void ip6_route_cleanup(void) | ||
118 | { | ||
119 | unregister_netdevice_notifier(&ip6_route_dev_notifier); | ||
120 | + unregister_pernet_subsys(&ip6_route_net_late_ops); | ||
121 | fib6_rules_cleanup(); | ||
122 | xfrm6_fini(); | ||
123 | fib6_gc_cleanup(); | ||
124 | -- | ||
125 | 1.7.10 | ||
126 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0040-bridge-Assign-rtnl_link_ops-to-bridge-devices-create.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0040-bridge-Assign-rtnl_link_ops-to-bridge-devices-create.patch new file mode 100644 index 00000000..bacca537 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0040-bridge-Assign-rtnl_link_ops-to-bridge-devices-create.patch | |||
@@ -0,0 +1,62 @@ | |||
1 | From e310ae5ff49ec77b2c991cffe288ac766e5f5203 Mon Sep 17 00:00:00 2001 | ||
2 | From: stephen hemminger <shemminger@vyatta.com> | ||
3 | Date: Tue, 26 Jun 2012 05:48:45 +0000 | ||
4 | Subject: [PATCH 40/49] bridge: Assign rtnl_link_ops to bridge devices created | ||
5 | via ioctl (v2) | ||
6 | |||
7 | [ Upstream commit 149ddd83a92b02c658d6c61f3276eb6500d585e8 ] | ||
8 | |||
9 | This ensures that bridges created with brctl(8) or ioctl(2) directly | ||
10 | also carry IFLA_LINKINFO when dumped over netlink. This also allows | ||
11 | to create a bridge with ioctl(2) and delete it with RTM_DELLINK. | ||
12 | |||
13 | Signed-off-by: Thomas Graf <tgraf@suug.ch> | ||
14 | Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> | ||
15 | Signed-off-by: David S. Miller <davem@davemloft.net> | ||
16 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
17 | --- | ||
18 | net/bridge/br_if.c | 1 + | ||
19 | net/bridge/br_netlink.c | 2 +- | ||
20 | net/bridge/br_private.h | 1 + | ||
21 | 3 files changed, 3 insertions(+), 1 deletion(-) | ||
22 | |||
23 | diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c | ||
24 | index f603e5b..f3f75ad 100644 | ||
25 | --- a/net/bridge/br_if.c | ||
26 | +++ b/net/bridge/br_if.c | ||
27 | @@ -240,6 +240,7 @@ int br_add_bridge(struct net *net, const char *name) | ||
28 | return -ENOMEM; | ||
29 | |||
30 | dev_net_set(dev, net); | ||
31 | + dev->rtnl_link_ops = &br_link_ops; | ||
32 | |||
33 | res = register_netdev(dev); | ||
34 | if (res) | ||
35 | diff --git a/net/bridge/br_netlink.c b/net/bridge/br_netlink.c | ||
36 | index a1daf82..cbf9ccd 100644 | ||
37 | --- a/net/bridge/br_netlink.c | ||
38 | +++ b/net/bridge/br_netlink.c | ||
39 | @@ -211,7 +211,7 @@ static int br_validate(struct nlattr *tb[], struct nlattr *data[]) | ||
40 | return 0; | ||
41 | } | ||
42 | |||
43 | -static struct rtnl_link_ops br_link_ops __read_mostly = { | ||
44 | +struct rtnl_link_ops br_link_ops __read_mostly = { | ||
45 | .kind = "bridge", | ||
46 | .priv_size = sizeof(struct net_bridge), | ||
47 | .setup = br_dev_setup, | ||
48 | diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h | ||
49 | index 93264df..b9bba8f 100644 | ||
50 | --- a/net/bridge/br_private.h | ||
51 | +++ b/net/bridge/br_private.h | ||
52 | @@ -536,6 +536,7 @@ extern int (*br_fdb_test_addr_hook)(struct net_device *dev, unsigned char *addr) | ||
53 | #endif | ||
54 | |||
55 | /* br_netlink.c */ | ||
56 | +extern struct rtnl_link_ops br_link_ops; | ||
57 | extern int br_netlink_init(void); | ||
58 | extern void br_netlink_fini(void); | ||
59 | extern void br_ifinfo_notify(int event, struct net_bridge_port *port); | ||
60 | -- | ||
61 | 1.7.10 | ||
62 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0041-Btrfs-run-delayed-directory-updates-during-log-repla.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0041-Btrfs-run-delayed-directory-updates-during-log-repla.patch new file mode 100644 index 00000000..c6b1663c --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0041-Btrfs-run-delayed-directory-updates-during-log-repla.patch | |||
@@ -0,0 +1,56 @@ | |||
1 | From 478ed8ce8490d599e1bb8e79007b85d6a9e7f1a0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Chris Mason <chris.mason@fusionio.com> | ||
3 | Date: Mon, 2 Jul 2012 15:29:53 -0400 | ||
4 | Subject: [PATCH 41/49] Btrfs: run delayed directory updates during log replay | ||
5 | |||
6 | commit b6305567e7d31b0bec1b8cb9ec0cadd7f7086f5f upstream. | ||
7 | |||
8 | While we are resolving directory modifications in the | ||
9 | tree log, we are triggering delayed metadata updates to | ||
10 | the filesystem btrees. | ||
11 | |||
12 | This commit forces the delayed updates to run so the | ||
13 | replay code can find any modifications done. It stops | ||
14 | us from crashing because the directory deleltion replay | ||
15 | expects items to be removed immediately from the tree. | ||
16 | |||
17 | Signed-off-by: Chris Mason <chris.mason@fusionio.com> | ||
18 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
19 | --- | ||
20 | fs/btrfs/tree-log.c | 6 ++++++ | ||
21 | 1 file changed, 6 insertions(+) | ||
22 | |||
23 | diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c | ||
24 | index 3568374..19b127c 100644 | ||
25 | --- a/fs/btrfs/tree-log.c | ||
26 | +++ b/fs/btrfs/tree-log.c | ||
27 | @@ -692,6 +692,8 @@ static noinline int drop_one_dir_item(struct btrfs_trans_handle *trans, | ||
28 | kfree(name); | ||
29 | |||
30 | iput(inode); | ||
31 | + | ||
32 | + btrfs_run_delayed_items(trans, root); | ||
33 | return ret; | ||
34 | } | ||
35 | |||
36 | @@ -897,6 +899,7 @@ again: | ||
37 | ret = btrfs_unlink_inode(trans, root, dir, | ||
38 | inode, victim_name, | ||
39 | victim_name_len); | ||
40 | + btrfs_run_delayed_items(trans, root); | ||
41 | } | ||
42 | kfree(victim_name); | ||
43 | ptr = (unsigned long)(victim_ref + 1) + victim_name_len; | ||
44 | @@ -1477,6 +1480,9 @@ again: | ||
45 | ret = btrfs_unlink_inode(trans, root, dir, inode, | ||
46 | name, name_len); | ||
47 | BUG_ON(ret); | ||
48 | + | ||
49 | + btrfs_run_delayed_items(trans, root); | ||
50 | + | ||
51 | kfree(name); | ||
52 | iput(inode); | ||
53 | |||
54 | -- | ||
55 | 1.7.10 | ||
56 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0042-cifs-when-server-doesn-t-set-CAP_LARGE_READ_X-cap-de.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0042-cifs-when-server-doesn-t-set-CAP_LARGE_READ_X-cap-de.patch new file mode 100644 index 00000000..435c9cb3 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0042-cifs-when-server-doesn-t-set-CAP_LARGE_READ_X-cap-de.patch | |||
@@ -0,0 +1,60 @@ | |||
1 | From 3ef708aec9359ad6b05d8ae43663cf5e73c58e9d Mon Sep 17 00:00:00 2001 | ||
2 | From: Jeff Layton <jlayton@redhat.com> | ||
3 | Date: Mon, 2 Jul 2012 07:24:25 -0400 | ||
4 | Subject: [PATCH 42/49] cifs: when server doesn't set CAP_LARGE_READ_X, cap | ||
5 | default rsize at MaxBufferSize | ||
6 | |||
7 | commit ec01d738a1691dfc85b96b9f796020267a7be577 upstream. | ||
8 | |||
9 | When the server doesn't advertise CAP_LARGE_READ_X, then MS-CIFS states | ||
10 | that you must cap the size of the read at the client's MaxBufferSize. | ||
11 | Unfortunately, testing with many older servers shows that they often | ||
12 | can't service a read larger than their own MaxBufferSize. | ||
13 | |||
14 | Since we can't assume what the server will do in this situation, we must | ||
15 | be conservative here for the default. When the server can't do large | ||
16 | reads, then assume that it can't satisfy any read larger than its | ||
17 | MaxBufferSize either. | ||
18 | |||
19 | Luckily almost all modern servers can do large reads, so this won't | ||
20 | affect them. This is really just for older win9x and OS/2 era servers. | ||
21 | Also, note that this patch just governs the default rsize. The admin can | ||
22 | always override this if he so chooses. | ||
23 | |||
24 | Reported-by: David H. Durgee <dhdurgee@acm.org> | ||
25 | Signed-off-by: Jeff Layton <jlayton@redhat.com> | ||
26 | Signed-off-by: Steven French <sfrench@w500smf.(none)> | ||
27 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
28 | --- | ||
29 | fs/cifs/connect.c | 9 +++------ | ||
30 | 1 file changed, 3 insertions(+), 6 deletions(-) | ||
31 | |||
32 | diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c | ||
33 | index 9e0675a..b21670c 100644 | ||
34 | --- a/fs/cifs/connect.c | ||
35 | +++ b/fs/cifs/connect.c | ||
36 | @@ -2975,18 +2975,15 @@ cifs_negotiate_rsize(struct cifs_tcon *tcon, struct smb_vol *pvolume_info) | ||
37 | * MS-CIFS indicates that servers are only limited by the client's | ||
38 | * bufsize for reads, testing against win98se shows that it throws | ||
39 | * INVALID_PARAMETER errors if you try to request too large a read. | ||
40 | + * OS/2 just sends back short reads. | ||
41 | * | ||
42 | - * If the server advertises a MaxBufferSize of less than one page, | ||
43 | - * assume that it also can't satisfy reads larger than that either. | ||
44 | - * | ||
45 | - * FIXME: Is there a better heuristic for this? | ||
46 | + * If the server doesn't advertise CAP_LARGE_READ_X, then assume that | ||
47 | + * it can't handle a read request larger than its MaxBufferSize either. | ||
48 | */ | ||
49 | if (tcon->unix_ext && (unix_cap & CIFS_UNIX_LARGE_READ_CAP)) | ||
50 | defsize = CIFS_DEFAULT_IOSIZE; | ||
51 | else if (server->capabilities & CAP_LARGE_READ_X) | ||
52 | defsize = CIFS_DEFAULT_NON_POSIX_RSIZE; | ||
53 | - else if (server->maxBuf >= PAGE_CACHE_SIZE) | ||
54 | - defsize = CIFSMaxBufSize; | ||
55 | else | ||
56 | defsize = server->maxBuf - sizeof(READ_RSP); | ||
57 | |||
58 | -- | ||
59 | 1.7.10 | ||
60 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0043-ocfs2-clear-unaligned-io-flag-when-dio-fails.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0043-ocfs2-clear-unaligned-io-flag-when-dio-fails.patch new file mode 100644 index 00000000..c07be0da --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0043-ocfs2-clear-unaligned-io-flag-when-dio-fails.patch | |||
@@ -0,0 +1,38 @@ | |||
1 | From 605e639247e5f40be06b013748769bd2cc252e04 Mon Sep 17 00:00:00 2001 | ||
2 | From: Junxiao Bi <junxiao.bi@oracle.com> | ||
3 | Date: Wed, 27 Jun 2012 17:09:55 +0800 | ||
4 | Subject: [PATCH 43/49] ocfs2: clear unaligned io flag when dio fails | ||
5 | |||
6 | commit 3e5d3c35a68c9a933bdbdd8685bd1a205b57e806 upstream. | ||
7 | |||
8 | The unaligned io flag is set in the kiocb when an unaligned | ||
9 | dio is issued, it should be cleared even when the dio fails, | ||
10 | or it may affect the following io which are using the same | ||
11 | kiocb. | ||
12 | |||
13 | Signed-off-by: Junxiao Bi <junxiao.bi@oracle.com> | ||
14 | Signed-off-by: Joel Becker <jlbec@evilplan.org> | ||
15 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
16 | --- | ||
17 | fs/ocfs2/file.c | 4 +++- | ||
18 | 1 file changed, 3 insertions(+), 1 deletion(-) | ||
19 | |||
20 | diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c | ||
21 | index 6e39668..07ee5b4 100644 | ||
22 | --- a/fs/ocfs2/file.c | ||
23 | +++ b/fs/ocfs2/file.c | ||
24 | @@ -2422,8 +2422,10 @@ out_dio: | ||
25 | unaligned_dio = 0; | ||
26 | } | ||
27 | |||
28 | - if (unaligned_dio) | ||
29 | + if (unaligned_dio) { | ||
30 | + ocfs2_iocb_clear_unaligned_aio(iocb); | ||
31 | atomic_dec(&OCFS2_I(inode)->ip_unaligned_aio); | ||
32 | + } | ||
33 | |||
34 | out: | ||
35 | if (rw_level != -1) | ||
36 | -- | ||
37 | 1.7.10 | ||
38 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0044-aio-make-kiocb-private-NUll-in-init_sync_kiocb.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0044-aio-make-kiocb-private-NUll-in-init_sync_kiocb.patch new file mode 100644 index 00000000..1084fef2 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0044-aio-make-kiocb-private-NUll-in-init_sync_kiocb.patch | |||
@@ -0,0 +1,39 @@ | |||
1 | From 21dbeb828448f788ffb3590cf6706c074bb1048f Mon Sep 17 00:00:00 2001 | ||
2 | From: Junxiao Bi <junxiao.bi@oracle.com> | ||
3 | Date: Wed, 27 Jun 2012 17:09:54 +0800 | ||
4 | Subject: [PATCH 44/49] aio: make kiocb->private NUll in init_sync_kiocb() | ||
5 | |||
6 | commit 2dfd06036ba7ae8e7be2daf5a2fff1dac42390bf upstream. | ||
7 | |||
8 | Ocfs2 uses kiocb.*private as a flag of unsigned long size. In | ||
9 | commit a11f7e6 ocfs2: serialize unaligned aio, the unaligned | ||
10 | io flag is involved in it to serialize the unaligned aio. As | ||
11 | *private is not initialized in init_sync_kiocb() of do_sync_write(), | ||
12 | this unaligned io flag may be unexpectly set in an aligned dio. | ||
13 | And this will cause OCFS2_I(inode)->ip_unaligned_aio decreased | ||
14 | to -1 in ocfs2_dio_end_io(), thus the following unaligned dio | ||
15 | will hang forever at ocfs2_aiodio_wait() in ocfs2_file_aio_write(). | ||
16 | |||
17 | Signed-off-by: Junxiao Bi <junxiao.bi@oracle.com> | ||
18 | Acked-by: Jeff Moyer <jmoyer@redhat.com> | ||
19 | Signed-off-by: Joel Becker <jlbec@evilplan.org> | ||
20 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
21 | --- | ||
22 | include/linux/aio.h | 1 + | ||
23 | 1 file changed, 1 insertion(+) | ||
24 | |||
25 | diff --git a/include/linux/aio.h b/include/linux/aio.h | ||
26 | index 2314ad8..b1a520e 100644 | ||
27 | --- a/include/linux/aio.h | ||
28 | +++ b/include/linux/aio.h | ||
29 | @@ -140,6 +140,7 @@ struct kiocb { | ||
30 | (x)->ki_dtor = NULL; \ | ||
31 | (x)->ki_obj.tsk = tsk; \ | ||
32 | (x)->ki_user_data = 0; \ | ||
33 | + (x)->private = NULL; \ | ||
34 | } while (0) | ||
35 | |||
36 | #define AIO_RING_MAGIC 0xa10a10a1 | ||
37 | -- | ||
38 | 1.7.10 | ||
39 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0045-mtd-cafe_nand-fix-an-vs-mistake.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0045-mtd-cafe_nand-fix-an-vs-mistake.patch new file mode 100644 index 00000000..9003be45 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0045-mtd-cafe_nand-fix-an-vs-mistake.patch | |||
@@ -0,0 +1,39 @@ | |||
1 | From e48907a3c090265dcbe0965537bbe9b510a1f7ef Mon Sep 17 00:00:00 2001 | ||
2 | From: Dan Carpenter <dan.carpenter@oracle.com> | ||
3 | Date: Sat, 9 Jun 2012 19:08:25 +0300 | ||
4 | Subject: [PATCH 45/49] mtd: cafe_nand: fix an & vs | mistake | ||
5 | |||
6 | commit 48f8b641297df49021093763a3271119a84990a2 upstream. | ||
7 | |||
8 | The intent here was clearly to set result to true if the 0x40000000 flag | ||
9 | was set. But instead there was a | vs & typo and we always set result | ||
10 | to true. | ||
11 | |||
12 | Artem: check the spec at | ||
13 | wiki.laptop.org/images/5/5c/88ALP01_Datasheet_July_2007.pdf | ||
14 | and this fix looks correct. | ||
15 | |||
16 | Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> | ||
17 | Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> | ||
18 | Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> | ||
19 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
20 | --- | ||
21 | drivers/mtd/nand/cafe_nand.c | 2 +- | ||
22 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
23 | |||
24 | diff --git a/drivers/mtd/nand/cafe_nand.c b/drivers/mtd/nand/cafe_nand.c | ||
25 | index 72d3f23..68ecf48 100644 | ||
26 | --- a/drivers/mtd/nand/cafe_nand.c | ||
27 | +++ b/drivers/mtd/nand/cafe_nand.c | ||
28 | @@ -102,7 +102,7 @@ static const char *part_probes[] = { "cmdlinepart", "RedBoot", NULL }; | ||
29 | static int cafe_device_ready(struct mtd_info *mtd) | ||
30 | { | ||
31 | struct cafe_priv *cafe = mtd->priv; | ||
32 | - int result = !!(cafe_readl(cafe, NAND_STATUS) | 0x40000000); | ||
33 | + int result = !!(cafe_readl(cafe, NAND_STATUS) & 0x40000000); | ||
34 | uint32_t irqs = cafe_readl(cafe, NAND_IRQ); | ||
35 | |||
36 | cafe_writel(cafe, irqs, NAND_IRQ); | ||
37 | -- | ||
38 | 1.7.10 | ||
39 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0046-mm-Hold-a-file-reference-in-madvise_remove.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0046-mm-Hold-a-file-reference-in-madvise_remove.patch new file mode 100644 index 00000000..82bb8b1b --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0046-mm-Hold-a-file-reference-in-madvise_remove.patch | |||
@@ -0,0 +1,80 @@ | |||
1 | From 565460286859b1512972fc637f2c653cf648d622 Mon Sep 17 00:00:00 2001 | ||
2 | From: Andy Lutomirski <luto@amacapital.net> | ||
3 | Date: Thu, 5 Jul 2012 16:00:11 -0700 | ||
4 | Subject: [PATCH 46/49] mm: Hold a file reference in madvise_remove | ||
5 | |||
6 | commit 9ab4233dd08036fe34a89c7dc6f47a8bf2eb29eb upstream. | ||
7 | |||
8 | Otherwise the code races with munmap (causing a use-after-free | ||
9 | of the vma) or with close (causing a use-after-free of the struct | ||
10 | file). | ||
11 | |||
12 | The bug was introduced by commit 90ed52ebe481 ("[PATCH] holepunch: fix | ||
13 | mmap_sem i_mutex deadlock") | ||
14 | |||
15 | Cc: Hugh Dickins <hugh@veritas.com> | ||
16 | Cc: Miklos Szeredi <mszeredi@suse.cz> | ||
17 | Cc: Badari Pulavarty <pbadari@us.ibm.com> | ||
18 | Cc: Nick Piggin <npiggin@suse.de> | ||
19 | Signed-off-by: Andy Lutomirski <luto@amacapital.net> | ||
20 | Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | ||
21 | [bwh: Backported to 3.2: | ||
22 | - Adjust context | ||
23 | - madvise_remove() calls vmtruncate_range(), not do_fallocate()] | ||
24 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
25 | --- | ||
26 | mm/madvise.c | 16 +++++++++++++--- | ||
27 | 1 file changed, 13 insertions(+), 3 deletions(-) | ||
28 | |||
29 | diff --git a/mm/madvise.c b/mm/madvise.c | ||
30 | index 74bf193..23d3a6b 100644 | ||
31 | --- a/mm/madvise.c | ||
32 | +++ b/mm/madvise.c | ||
33 | @@ -13,6 +13,7 @@ | ||
34 | #include <linux/hugetlb.h> | ||
35 | #include <linux/sched.h> | ||
36 | #include <linux/ksm.h> | ||
37 | +#include <linux/file.h> | ||
38 | |||
39 | /* | ||
40 | * Any behaviour which results in changes to the vma->vm_flags needs to | ||
41 | @@ -197,14 +198,16 @@ static long madvise_remove(struct vm_area_struct *vma, | ||
42 | struct address_space *mapping; | ||
43 | loff_t offset, endoff; | ||
44 | int error; | ||
45 | + struct file *f; | ||
46 | |||
47 | *prev = NULL; /* tell sys_madvise we drop mmap_sem */ | ||
48 | |||
49 | if (vma->vm_flags & (VM_LOCKED|VM_NONLINEAR|VM_HUGETLB)) | ||
50 | return -EINVAL; | ||
51 | |||
52 | - if (!vma->vm_file || !vma->vm_file->f_mapping | ||
53 | - || !vma->vm_file->f_mapping->host) { | ||
54 | + f = vma->vm_file; | ||
55 | + | ||
56 | + if (!f || !f->f_mapping || !f->f_mapping->host) { | ||
57 | return -EINVAL; | ||
58 | } | ||
59 | |||
60 | @@ -218,9 +221,16 @@ static long madvise_remove(struct vm_area_struct *vma, | ||
61 | endoff = (loff_t)(end - vma->vm_start - 1) | ||
62 | + ((loff_t)vma->vm_pgoff << PAGE_SHIFT); | ||
63 | |||
64 | - /* vmtruncate_range needs to take i_mutex */ | ||
65 | + /* | ||
66 | + * vmtruncate_range may need to take i_mutex. We need to | ||
67 | + * explicitly grab a reference because the vma (and hence the | ||
68 | + * vma's reference to the file) can go away as soon as we drop | ||
69 | + * mmap_sem. | ||
70 | + */ | ||
71 | + get_file(f); | ||
72 | up_read(¤t->mm->mmap_sem); | ||
73 | error = vmtruncate_range(mapping->host, offset, endoff); | ||
74 | + fput(f); | ||
75 | down_read(¤t->mm->mmap_sem); | ||
76 | return error; | ||
77 | } | ||
78 | -- | ||
79 | 1.7.10 | ||
80 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0047-tcm_fc-Resolve-suspicious-RCU-usage-warnings.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0047-tcm_fc-Resolve-suspicious-RCU-usage-warnings.patch new file mode 100644 index 00000000..e0373e0a --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0047-tcm_fc-Resolve-suspicious-RCU-usage-warnings.patch | |||
@@ -0,0 +1,36 @@ | |||
1 | From 7b764186beda304507cde2161d84f4e9b16c8ce6 Mon Sep 17 00:00:00 2001 | ||
2 | From: Mark Rustad <mark.d.rustad@intel.com> | ||
3 | Date: Tue, 26 Jun 2012 15:57:30 -0700 | ||
4 | Subject: [PATCH 47/49] tcm_fc: Resolve suspicious RCU usage warnings | ||
5 | |||
6 | commit 863555be0c81558b1af277addcf68acb8f778860 upstream. | ||
7 | |||
8 | Use rcu_dereference_protected to tell rcu that the ft_lport_lock | ||
9 | is held during ft_lport_create. This resolved "suspicious RCU usage" | ||
10 | warnings when debugging options are turned on. | ||
11 | |||
12 | Signed-off-by: Mark Rustad <mark.d.rustad@intel.com> | ||
13 | Tested-by: Ross Brattain <ross.b.brattain@intel.com> | ||
14 | Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org> | ||
15 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
16 | --- | ||
17 | drivers/target/tcm_fc/tfc_sess.c | 3 ++- | ||
18 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
19 | |||
20 | diff --git a/drivers/target/tcm_fc/tfc_sess.c b/drivers/target/tcm_fc/tfc_sess.c | ||
21 | index 3269213..64ddb63 100644 | ||
22 | --- a/drivers/target/tcm_fc/tfc_sess.c | ||
23 | +++ b/drivers/target/tcm_fc/tfc_sess.c | ||
24 | @@ -61,7 +61,8 @@ static struct ft_tport *ft_tport_create(struct fc_lport *lport) | ||
25 | struct ft_tport *tport; | ||
26 | int i; | ||
27 | |||
28 | - tport = rcu_dereference(lport->prov[FC_TYPE_FCP]); | ||
29 | + tport = rcu_dereference_protected(lport->prov[FC_TYPE_FCP], | ||
30 | + lockdep_is_held(&ft_lport_lock)); | ||
31 | if (tport && tport->tpg) | ||
32 | return tport; | ||
33 | |||
34 | -- | ||
35 | 1.7.10 | ||
36 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0048-vfs-make-O_PATH-file-descriptors-usable-for-fchdir.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0048-vfs-make-O_PATH-file-descriptors-usable-for-fchdir.patch new file mode 100644 index 00000000..eb450c15 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0048-vfs-make-O_PATH-file-descriptors-usable-for-fchdir.patch | |||
@@ -0,0 +1,56 @@ | |||
1 | From 7c0f859e15ad91f6d6921970fc9d48f1f7804bf9 Mon Sep 17 00:00:00 2001 | ||
2 | From: Linus Torvalds <torvalds@linux-foundation.org> | ||
3 | Date: Sat, 7 Jul 2012 10:17:00 -0700 | ||
4 | Subject: [PATCH 48/49] vfs: make O_PATH file descriptors usable for | ||
5 | 'fchdir()' | ||
6 | MIME-Version: 1.0 | ||
7 | Content-Type: text/plain; charset=UTF-8 | ||
8 | Content-Transfer-Encoding: 8bit | ||
9 | |||
10 | commit 332a2e1244bd08b9e3ecd378028513396a004a24 upstream. | ||
11 | |||
12 | We already use them for openat() and friends, but fchdir() also wants to | ||
13 | be able to use O_PATH file descriptors. This should make it comparable | ||
14 | to the O_SEARCH of Solaris. In particular, O_PATH allows you to access | ||
15 | (not-quite-open) a directory you don't have read persmission to, only | ||
16 | execute permission. | ||
17 | |||
18 | Noticed during development of multithread support for ksh93. | ||
19 | |||
20 | Reported-by: ольга крыжановская <olga.kryzhanovska@gmail.com> | ||
21 | Cc: Al Viro <viro@zeniv.linux.org.uk> | ||
22 | Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | ||
23 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
24 | --- | ||
25 | fs/open.c | 6 +++--- | ||
26 | 1 file changed, 3 insertions(+), 3 deletions(-) | ||
27 | |||
28 | diff --git a/fs/open.c b/fs/open.c | ||
29 | index 22c41b5..e2b5d51 100644 | ||
30 | --- a/fs/open.c | ||
31 | +++ b/fs/open.c | ||
32 | @@ -396,10 +396,10 @@ SYSCALL_DEFINE1(fchdir, unsigned int, fd) | ||
33 | { | ||
34 | struct file *file; | ||
35 | struct inode *inode; | ||
36 | - int error; | ||
37 | + int error, fput_needed; | ||
38 | |||
39 | error = -EBADF; | ||
40 | - file = fget(fd); | ||
41 | + file = fget_raw_light(fd, &fput_needed); | ||
42 | if (!file) | ||
43 | goto out; | ||
44 | |||
45 | @@ -413,7 +413,7 @@ SYSCALL_DEFINE1(fchdir, unsigned int, fd) | ||
46 | if (!error) | ||
47 | set_fs_pwd(current->fs, &file->f_path); | ||
48 | out_putf: | ||
49 | - fput(file); | ||
50 | + fput_light(file, fput_needed); | ||
51 | out: | ||
52 | return error; | ||
53 | } | ||
54 | -- | ||
55 | 1.7.10 | ||
56 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0049-Linux-3.2.23.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0049-Linux-3.2.23.patch new file mode 100644 index 00000000..6fa83d1c --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.23/0049-Linux-3.2.23.patch | |||
@@ -0,0 +1,24 @@ | |||
1 | From 70aac971ed12a5a23e0b10035df743f2ada81151 Mon Sep 17 00:00:00 2001 | ||
2 | From: Ben Hutchings <ben@decadent.org.uk> | ||
3 | Date: Thu, 12 Jul 2012 04:32:21 +0100 | ||
4 | Subject: [PATCH 49/49] Linux 3.2.23 | ||
5 | |||
6 | --- | ||
7 | Makefile | 2 +- | ||
8 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
9 | |||
10 | diff --git a/Makefile b/Makefile | ||
11 | index 9a7d921..40d1e3b 100644 | ||
12 | --- a/Makefile | ||
13 | +++ b/Makefile | ||
14 | @@ -1,6 +1,6 @@ | ||
15 | VERSION = 3 | ||
16 | PATCHLEVEL = 2 | ||
17 | -SUBLEVEL = 22 | ||
18 | +SUBLEVEL = 23 | ||
19 | EXTRAVERSION = | ||
20 | NAME = Saber-toothed Squirrel | ||
21 | |||
22 | -- | ||
23 | 1.7.10 | ||
24 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0001-f_rndis-HACK-around-undefined-variables.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0001-f_rndis-HACK-around-undefined-variables.patch index a76d5c11..ce72ebdf 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0001-f_rndis-HACK-around-undefined-variables.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0001-f_rndis-HACK-around-undefined-variables.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From 0a8e60a2f92c5507739e84cdbe5fb3de3f4ee1b6 Mon Sep 17 00:00:00 2001 | 1 | From 87fae6477f8987244e2331dc60001c79e5421e80 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Fri, 7 Oct 2011 15:29:28 +0200 | 3 | Date: Fri, 7 Oct 2011 15:29:28 +0200 |
4 | Subject: [PATCH 01/56] f_rndis: HACK around undefined variables | 4 | Subject: [PATCH 01/79] f_rndis: HACK around undefined variables |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | drivers/usb/gadget/f_rndis.c | 4 ++-- | 8 | drivers/usb/gadget/f_rndis.c | 4 ++-- |
9 | 1 files changed, 2 insertions(+), 2 deletions(-) | 9 | 1 file changed, 2 insertions(+), 2 deletions(-) |
10 | 10 | ||
11 | diff --git a/drivers/usb/gadget/f_rndis.c b/drivers/usb/gadget/f_rndis.c | 11 | diff --git a/drivers/usb/gadget/f_rndis.c b/drivers/usb/gadget/f_rndis.c |
12 | index 6614490..d2f1b6f 100644 | 12 | index 6614490..d2f1b6f 100644 |
@@ -27,5 +27,5 @@ index 6614490..d2f1b6f 100644 | |||
27 | * the network link ... which is unavailable to this code | 27 | * the network link ... which is unavailable to this code |
28 | * until we're activated via set_alt(). | 28 | * until we're activated via set_alt(). |
29 | -- | 29 | -- |
30 | 1.7.7.6 | 30 | 1.7.10 |
31 | 31 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0002-da8xx-fb-add-DVI-support-for-beaglebone.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0002-da8xx-fb-add-DVI-support-for-beaglebone.patch index b227e644..158ed0ce 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0002-da8xx-fb-add-DVI-support-for-beaglebone.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0002-da8xx-fb-add-DVI-support-for-beaglebone.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From 7db7d9b0c2ca8aea0ae522b7fc30c7ac034edfe2 Mon Sep 17 00:00:00 2001 | 1 | From 30dcf1f8efb223e5b6fc3c049bc8ce3236ec17a0 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Thu, 3 Nov 2011 17:35:50 +0100 | 3 | Date: Thu, 3 Nov 2011 17:35:50 +0100 |
4 | Subject: [PATCH 02/56] da8xx-fb: add DVI support for beaglebone | 4 | Subject: [PATCH 02/79] da8xx-fb: add DVI support for beaglebone |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | drivers/video/da8xx-fb.c | 14 ++++++++++++++ | 8 | drivers/video/da8xx-fb.c | 14 ++++++++++++++ |
9 | 1 files changed, 14 insertions(+), 0 deletions(-) | 9 | 1 file changed, 14 insertions(+) |
10 | 10 | ||
11 | diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c | 11 | diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c |
12 | index 2e69278..b01f15b 100644 | 12 | index 2e69278..b01f15b 100644 |
@@ -34,5 +34,5 @@ index 2e69278..b01f15b 100644 | |||
34 | 34 | ||
35 | /* Enable the Raster Engine of the LCD Controller */ | 35 | /* Enable the Raster Engine of the LCD Controller */ |
36 | -- | 36 | -- |
37 | 1.7.7.6 | 37 | 1.7.10 |
38 | 38 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0003-beaglebone-rebase-everything-onto-3.2-WARNING-MEGAPA.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0003-beaglebone-rebase-everything-onto-3.2-WARNING-MEGAPA.patch index 680fa6af..53f73558 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0003-beaglebone-rebase-everything-onto-3.2-WARNING-MEGAPA.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0003-beaglebone-rebase-everything-onto-3.2-WARNING-MEGAPA.patch | |||
@@ -1,13 +1,13 @@ | |||
1 | From 8ba62500dc8a2a033099ddcf85fd765b09c47f6d Mon Sep 17 00:00:00 2001 | 1 | From 482ed8f98b87299bf77298b86871b4af74334751 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Mon, 30 Jan 2012 21:30:09 +0100 | 3 | Date: Mon, 30 Jan 2012 21:30:09 +0100 |
4 | Subject: [PATCH 03/56] beaglebone: rebase everything onto 3.2 - WARNING | 4 | Subject: [PATCH 03/79] beaglebone: rebase everything onto 3.2 - WARNING |
5 | MEGAPATCH | 5 | MEGAPATCH |
6 | 6 | ||
7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
8 | --- | 8 | --- |
9 | arch/arm/mach-omap2/board-am335xevm.c | 426 ++++++++++++++++++++++++++++++++- | 9 | arch/arm/mach-omap2/board-am335xevm.c | 426 ++++++++++++++++++++++++++++++++- |
10 | 1 files changed, 415 insertions(+), 11 deletions(-) | 10 | 1 file changed, 415 insertions(+), 11 deletions(-) |
11 | 11 | ||
12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
13 | index 563bdf1..2741431 100644 | 13 | index 563bdf1..2741431 100644 |
@@ -559,5 +559,5 @@ index 563bdf1..2741431 100644 | |||
559 | /* Beagle Bone has Micro-SD slot which doesn't have Write Protect pin */ | 559 | /* Beagle Bone has Micro-SD slot which doesn't have Write Protect pin */ |
560 | am335x_mmc[0].gpio_wp = -EINVAL; | 560 | am335x_mmc[0].gpio_wp = -EINVAL; |
561 | -- | 561 | -- |
562 | 1.7.7.6 | 562 | 1.7.10 |
563 | 563 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0004-more-beaglebone-merges.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0004-more-beaglebone-merges.patch index 1672a11b..9e3186df 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0004-more-beaglebone-merges.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0004-more-beaglebone-merges.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From b5158f58ced19e39423d3f12b01f67435a1029b0 Mon Sep 17 00:00:00 2001 | 1 | From e495bd4f47ad3b8f48916582b12ec0bf0a7e7134 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Tue, 31 Jan 2012 10:04:03 +0100 | 3 | Date: Tue, 31 Jan 2012 10:04:03 +0100 |
4 | Subject: [PATCH 04/56] more beaglebone merges | 4 | Subject: [PATCH 04/79] more beaglebone merges |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 52 +++++++++++++++++++++++++++++++- | 8 | arch/arm/mach-omap2/board-am335xevm.c | 52 +++++++++++++++++++++++++++++++-- |
9 | 1 files changed, 50 insertions(+), 2 deletions(-) | 9 | 1 file changed, 50 insertions(+), 2 deletions(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index 2741431..ffbecae 100644 | 12 | index 2741431..ffbecae 100644 |
@@ -103,5 +103,5 @@ index 2741431..ffbecae 100644 | |||
103 | } else if (!strncmp("1.0", config.version, 3)) { | 103 | } else if (!strncmp("1.0", config.version, 3)) { |
104 | gp_evm_revision = GP_EVM_REV_IS_1_0; | 104 | gp_evm_revision = GP_EVM_REV_IS_1_0; |
105 | -- | 105 | -- |
106 | 1.7.7.6 | 106 | 1.7.10 |
107 | 107 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0005-beaglebone-disable-tsadc.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0005-beaglebone-disable-tsadc.patch index 6d8fdb8a..5cd6f464 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0005-beaglebone-disable-tsadc.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0005-beaglebone-disable-tsadc.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From 590219f8dedc88345dff5e2fcac3c63501333aba Mon Sep 17 00:00:00 2001 | 1 | From fd6ae50df7aee160e23cce68bf5c0fd223f2700a Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Tue, 31 Jan 2012 10:09:06 +0100 | 3 | Date: Tue, 31 Jan 2012 10:09:06 +0100 |
4 | Subject: [PATCH 05/56] beaglebone: disable tsadc | 4 | Subject: [PATCH 05/79] beaglebone: disable tsadc |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 4 ++-- | 8 | arch/arm/mach-omap2/board-am335xevm.c | 4 ++-- |
9 | 1 files changed, 2 insertions(+), 2 deletions(-) | 9 | 1 file changed, 2 insertions(+), 2 deletions(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index ffbecae..ba611c0 100644 | 12 | index ffbecae..ba611c0 100644 |
@@ -27,5 +27,5 @@ index ffbecae..ba611c0 100644 | |||
27 | 27 | ||
28 | static u8 am335x_iis_serializer_direction1[] = { | 28 | static u8 am335x_iis_serializer_direction1[] = { |
29 | -- | 29 | -- |
30 | 1.7.7.6 | 30 | 1.7.10 |
31 | 31 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0006-tscadc-Add-general-purpose-mode-untested-with-touchs.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0006-tscadc-Add-general-purpose-mode-untested-with-touchs.patch index 3dbd5d19..d0f71947 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0006-tscadc-Add-general-purpose-mode-untested-with-touchs.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0006-tscadc-Add-general-purpose-mode-untested-with-touchs.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From d15ac41429630a7065e409079370efc4cfcb3e65 Mon Sep 17 00:00:00 2001 | 1 | From d434e8f8c1fec1f10d2475a014ed26d4e5bc8579 Mon Sep 17 00:00:00 2001 |
2 | From: Joel A Fernandes <joelagnel@ti.com> | 2 | From: Joel A Fernandes <joelagnel@ti.com> |
3 | Date: Wed, 30 Nov 2011 15:00:40 +0100 | 3 | Date: Wed, 30 Nov 2011 15:00:40 +0100 |
4 | Subject: [PATCH 06/56] tscadc: Add general purpose mode, untested with | 4 | Subject: [PATCH 06/79] tscadc: Add general purpose mode, untested with |
5 | touchscreen functionality | 5 | touchscreen functionality |
6 | 6 | ||
7 | Signed-off-by: Joel A Fernandes <joelagnel@ti.com> | 7 | Signed-off-by: Joel A Fernandes <joelagnel@ti.com> |
@@ -402,5 +402,5 @@ index 2c547bb..850cd4b 100644 | |||
402 | + int mode; | 402 | + int mode; |
403 | }; | 403 | }; |
404 | -- | 404 | -- |
405 | 1.7.7.6 | 405 | 1.7.10 |
406 | 406 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0007-tscadc-Add-board-file-mfd-support-fix-warning.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0007-tscadc-Add-board-file-mfd-support-fix-warning.patch index 6852fc63..787d4260 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0007-tscadc-Add-board-file-mfd-support-fix-warning.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0007-tscadc-Add-board-file-mfd-support-fix-warning.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 5275f0cc4c9f541711ab49e7e179a153fb61cda5 Mon Sep 17 00:00:00 2001 | 1 | From dc7ef10b1e755f188cfc92f4e1d8a43c8e661392 Mon Sep 17 00:00:00 2001 |
2 | From: Joel A Fernandes <joelagnel@ti.com> | 2 | From: Joel A Fernandes <joelagnel@ti.com> |
3 | Date: Wed, 30 Nov 2011 15:02:17 +0100 | 3 | Date: Wed, 30 Nov 2011 15:02:17 +0100 |
4 | Subject: [PATCH 07/56] tscadc: Add board file mfd support, fix warning | 4 | Subject: [PATCH 07/79] tscadc: Add board file mfd support, fix warning |
5 | 5 | ||
6 | Signed-off-by: Joel A Fernandes <joelagnel@ti.com> | 6 | Signed-off-by: Joel A Fernandes <joelagnel@ti.com> |
7 | 7 | ||
@@ -40,5 +40,5 @@ index c6dc6f0..b50a08c 100644 | |||
40 | int clk_value; | 40 | int clk_value; |
41 | int clock_rate, irqenable, ctrl; | 41 | int clock_rate, irqenable, ctrl; |
42 | -- | 42 | -- |
43 | 1.7.7.6 | 43 | 1.7.10 |
44 | 44 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0008-AM335X-init-tsc-bone-style-for-new-boards.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0008-AM335X-init-tsc-bone-style-for-new-boards.patch index fe1db5c1..9434c573 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0008-AM335X-init-tsc-bone-style-for-new-boards.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0008-AM335X-init-tsc-bone-style-for-new-boards.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From e9aa7ff6f36d532d2268cd3b91555cbeb72fda4f Mon Sep 17 00:00:00 2001 | 1 | From b67913c3de1b8789c9d1881391b9bfb0beaa00ee Mon Sep 17 00:00:00 2001 |
2 | From: Joel A Fernandes <joelagnel@ti.com> | 2 | From: Joel A Fernandes <joelagnel@ti.com> |
3 | Date: Wed, 30 Nov 2011 15:03:59 +0100 | 3 | Date: Wed, 30 Nov 2011 15:03:59 +0100 |
4 | Subject: [PATCH 08/56] AM335X: init tsc bone style for new boards | 4 | Subject: [PATCH 08/79] AM335X: init tsc bone style for new boards |
5 | 5 | ||
6 | Signed-off-by: Joel A Fernandes <joelagnel@ti.com> | 6 | Signed-off-by: Joel A Fernandes <joelagnel@ti.com> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 2 +- | 8 | arch/arm/mach-omap2/board-am335xevm.c | 2 +- |
9 | 1 files changed, 1 insertions(+), 1 deletions(-) | 9 | 1 file changed, 1 insertion(+), 1 deletion(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index 64a0c0a..6b78ae6 100644 | 12 | index 64a0c0a..6b78ae6 100644 |
@@ -22,5 +22,5 @@ index 64a0c0a..6b78ae6 100644 | |||
22 | }; | 22 | }; |
23 | 23 | ||
24 | -- | 24 | -- |
25 | 1.7.7.6 | 25 | 1.7.10 |
26 | 26 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0009-tscadc-make-stepconfig-channel-configurable.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0009-tscadc-make-stepconfig-channel-configurable.patch index 8d736374..5f43ac4c 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0009-tscadc-make-stepconfig-channel-configurable.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0009-tscadc-make-stepconfig-channel-configurable.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From 7042bb10731908812bc3b248b963899898773c4b Mon Sep 17 00:00:00 2001 | 1 | From 3b70f6dd0dd6f6c1fbd71b7090a3340382b3c77e Mon Sep 17 00:00:00 2001 |
2 | From: Joel A Fernandes <joelagnel@ti.com> | 2 | From: Joel A Fernandes <joelagnel@ti.com> |
3 | Date: Mon, 28 Nov 2011 18:18:04 -0600 | 3 | Date: Mon, 28 Nov 2011 18:18:04 -0600 |
4 | Subject: [PATCH 09/56] tscadc: make stepconfig channel-configurable | 4 | Subject: [PATCH 09/79] tscadc: make stepconfig channel-configurable |
5 | 5 | ||
6 | Signed-off-by: Joel A Fernandes <joelagnel@ti.com> | 6 | Signed-off-by: Joel A Fernandes <joelagnel@ti.com> |
7 | --- | 7 | --- |
8 | drivers/input/touchscreen/ti_tscadc.c | 8 +++++--- | 8 | drivers/input/touchscreen/ti_tscadc.c | 8 +++++--- |
9 | 1 files changed, 5 insertions(+), 3 deletions(-) | 9 | 1 file changed, 5 insertions(+), 3 deletions(-) |
10 | 10 | ||
11 | diff --git a/drivers/input/touchscreen/ti_tscadc.c b/drivers/input/touchscreen/ti_tscadc.c | 11 | diff --git a/drivers/input/touchscreen/ti_tscadc.c b/drivers/input/touchscreen/ti_tscadc.c |
12 | index b50a08c..6083de7 100644 | 12 | index b50a08c..6083de7 100644 |
@@ -42,5 +42,5 @@ index b50a08c..6083de7 100644 | |||
42 | irqenable = TSCADC_IRQENB_FIFO0THRES; | 42 | irqenable = TSCADC_IRQENB_FIFO0THRES; |
43 | } | 43 | } |
44 | -- | 44 | -- |
45 | 1.7.7.6 | 45 | 1.7.10 |
46 | 46 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0010-tscadc-Trigger-through-sysfs.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0010-tscadc-Trigger-through-sysfs.patch index 27052fc3..6afca799 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0010-tscadc-Trigger-through-sysfs.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0010-tscadc-Trigger-through-sysfs.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 23f1ea4e1324704d36381cf1a2b6d4578c5f3fb4 Mon Sep 17 00:00:00 2001 | 1 | From 19415df67c6e3802c007832e356933d33435558b Mon Sep 17 00:00:00 2001 |
2 | From: Joel A Fernandes <joelagnel@ti.com> | 2 | From: Joel A Fernandes <joelagnel@ti.com> |
3 | Date: Mon, 28 Nov 2011 20:55:25 -0600 | 3 | Date: Mon, 28 Nov 2011 20:55:25 -0600 |
4 | Subject: [PATCH 10/56] tscadc: Trigger through sysfs | 4 | Subject: [PATCH 10/79] tscadc: Trigger through sysfs |
5 | 5 | ||
6 | Signed-off-by: Joel A Fernandes <joelagnel@ti.com> | 6 | Signed-off-by: Joel A Fernandes <joelagnel@ti.com> |
7 | 7 | ||
@@ -145,5 +145,5 @@ index 850cd4b..fc239c6 100644 | |||
145 | #define TI_TSCADC_TSCMODE 0 | 145 | #define TI_TSCADC_TSCMODE 0 |
146 | #define TI_TSCADC_GENMODE 1 | 146 | #define TI_TSCADC_GENMODE 1 |
147 | -- | 147 | -- |
148 | 1.7.7.6 | 148 | 1.7.10 |
149 | 149 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0011-meta-ti-Remove-debug-messages-for-meta-ti.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0011-meta-ti-Remove-debug-messages-for-meta-ti.patch index d6d6a8f4..1bd64b40 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0011-meta-ti-Remove-debug-messages-for-meta-ti.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0011-meta-ti-Remove-debug-messages-for-meta-ti.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From 44e604188006ae23fb48fe27b68b20cc9e3b20cb Mon Sep 17 00:00:00 2001 | 1 | From 956815a5ce5d2708ad3f14bdd0c6aaee056febbb Mon Sep 17 00:00:00 2001 |
2 | From: Joel A Fernandes <joelagnel@ti.com> | 2 | From: Joel A Fernandes <joelagnel@ti.com> |
3 | Date: Mon, 28 Nov 2011 20:56:48 -0600 | 3 | Date: Mon, 28 Nov 2011 20:56:48 -0600 |
4 | Subject: [PATCH 11/56] meta-ti: Remove debug messages for meta-ti | 4 | Subject: [PATCH 11/79] meta-ti: Remove debug messages for meta-ti |
5 | 5 | ||
6 | Signed-off-by: Joel A Fernandes <joelagnel@ti.com> | 6 | Signed-off-by: Joel A Fernandes <joelagnel@ti.com> |
7 | --- | 7 | --- |
8 | drivers/input/touchscreen/ti_tscadc.c | 4 ++-- | 8 | drivers/input/touchscreen/ti_tscadc.c | 4 ++-- |
9 | 1 files changed, 2 insertions(+), 2 deletions(-) | 9 | 1 file changed, 2 insertions(+), 2 deletions(-) |
10 | 10 | ||
11 | diff --git a/drivers/input/touchscreen/ti_tscadc.c b/drivers/input/touchscreen/ti_tscadc.c | 11 | diff --git a/drivers/input/touchscreen/ti_tscadc.c b/drivers/input/touchscreen/ti_tscadc.c |
12 | index d6aec8c..da48bcd 100644 | 12 | index d6aec8c..da48bcd 100644 |
@@ -30,5 +30,5 @@ index d6aec8c..da48bcd 100644 | |||
30 | for (i = 0; i < fifo1count; i++) { | 30 | for (i = 0; i < fifo1count; i++) { |
31 | read_sample = tscadc_readl(ts_dev, TSCADC_REG_FIFO0); | 31 | read_sample = tscadc_readl(ts_dev, TSCADC_REG_FIFO0); |
32 | -- | 32 | -- |
33 | 1.7.7.6 | 33 | 1.7.10 |
34 | 34 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0012-tscadc-switch-to-polling-instead-of-interrupts.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0012-tscadc-switch-to-polling-instead-of-interrupts.patch index 86ef82ef..d9fd2a70 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0012-tscadc-switch-to-polling-instead-of-interrupts.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0012-tscadc-switch-to-polling-instead-of-interrupts.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From 04b4ae6caf9912acb99b294ab946ca88146ec6a9 Mon Sep 17 00:00:00 2001 | 1 | From 393a7b11a2819b5149c909a801b1f8be4d781771 Mon Sep 17 00:00:00 2001 |
2 | From: Joel A Fernandes <joelagnel@ti.com> | 2 | From: Joel A Fernandes <joelagnel@ti.com> |
3 | Date: Tue, 29 Nov 2011 09:44:22 -0600 | 3 | Date: Tue, 29 Nov 2011 09:44:22 -0600 |
4 | Subject: [PATCH 12/56] tscadc: switch to polling instead of interrupts | 4 | Subject: [PATCH 12/79] tscadc: switch to polling instead of interrupts |
5 | 5 | ||
6 | Signed-off-by: Joel A Fernandes <joelagnel@ti.com> | 6 | Signed-off-by: Joel A Fernandes <joelagnel@ti.com> |
7 | --- | 7 | --- |
8 | drivers/input/touchscreen/ti_tscadc.c | 16 ++++++++++++++-- | 8 | drivers/input/touchscreen/ti_tscadc.c | 16 ++++++++++++++-- |
9 | 1 files changed, 14 insertions(+), 2 deletions(-) | 9 | 1 file changed, 14 insertions(+), 2 deletions(-) |
10 | 10 | ||
11 | diff --git a/drivers/input/touchscreen/ti_tscadc.c b/drivers/input/touchscreen/ti_tscadc.c | 11 | diff --git a/drivers/input/touchscreen/ti_tscadc.c b/drivers/input/touchscreen/ti_tscadc.c |
12 | index da48bcd..4fd2e18 100644 | 12 | index da48bcd..4fd2e18 100644 |
@@ -50,5 +50,5 @@ index da48bcd..4fd2e18 100644 | |||
50 | tscadc_writel(ts_dev, TSCADC_REG_IRQENABLE, irqenable); | 50 | tscadc_writel(ts_dev, TSCADC_REG_IRQENABLE, irqenable); |
51 | 51 | ||
52 | -- | 52 | -- |
53 | 1.7.7.6 | 53 | 1.7.10 |
54 | 54 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0013-beaglebone-fix-ADC-init.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0013-beaglebone-fix-ADC-init.patch index b15e894e..3db4f7d1 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0013-beaglebone-fix-ADC-init.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0013-beaglebone-fix-ADC-init.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From 14830f07a752e8c2d643a307ebb5e268008d9c04 Mon Sep 17 00:00:00 2001 | 1 | From 33bbdc8dfb22170f7be9286c653fbac9d9c8f196 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Tue, 31 Jan 2012 14:50:55 +0100 | 3 | Date: Tue, 31 Jan 2012 14:50:55 +0100 |
4 | Subject: [PATCH 13/56] beaglebone: fix ADC init | 4 | Subject: [PATCH 13/79] beaglebone: fix ADC init |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 6 ++---- | 8 | arch/arm/mach-omap2/board-am335xevm.c | 6 ++---- |
9 | 1 files changed, 2 insertions(+), 4 deletions(-) | 9 | 1 file changed, 2 insertions(+), 4 deletions(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index 6b78ae6..ffbecae 100644 | 12 | index 6b78ae6..ffbecae 100644 |
@@ -43,5 +43,5 @@ index 6b78ae6..ffbecae 100644 | |||
43 | }; | 43 | }; |
44 | 44 | ||
45 | -- | 45 | -- |
46 | 1.7.7.6 | 46 | 1.7.10 |
47 | 47 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0014-AM335x-MUX-add-ehrpwm1A.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0014-AM335x-MUX-add-ehrpwm1A.patch index 3fec0920..489c64e0 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0014-AM335x-MUX-add-ehrpwm1A.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0014-AM335x-MUX-add-ehrpwm1A.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From ae3da1ea2d7c8b915e8eebec7d5f3524f53bf510 Mon Sep 17 00:00:00 2001 | 1 | From 10099d6354fc3c61306788e4070cfbd20722fb80 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Tue, 31 Jan 2012 16:49:52 +0100 | 3 | Date: Tue, 31 Jan 2012 16:49:52 +0100 |
4 | Subject: [PATCH 14/56] AM335x: MUX: add ehrpwm1A | 4 | Subject: [PATCH 14/79] AM335x: MUX: add ehrpwm1A |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/mux33xx.c | 2 +- | 8 | arch/arm/mach-omap2/mux33xx.c | 2 +- |
9 | 1 files changed, 1 insertions(+), 1 deletions(-) | 9 | 1 file changed, 1 insertion(+), 1 deletion(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/mux33xx.c b/arch/arm/mach-omap2/mux33xx.c | 11 | diff --git a/arch/arm/mach-omap2/mux33xx.c b/arch/arm/mach-omap2/mux33xx.c |
12 | index 572ed16..0f71646 100644 | 12 | index 572ed16..0f71646 100644 |
@@ -22,5 +22,5 @@ index 572ed16..0f71646 100644 | |||
22 | "gpmc_a3", "mii2_txd2", "rgmii2_td2", "mmc2_dat2", | 22 | "gpmc_a3", "mii2_txd2", "rgmii2_td2", "mmc2_dat2", |
23 | NULL, NULL, NULL, "gpio1_19"), | 23 | NULL, NULL, NULL, "gpio1_19"), |
24 | -- | 24 | -- |
25 | 1.7.7.6 | 25 | 1.7.10 |
26 | 26 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0015-beaglebone-enable-PWM-for-lcd-backlight-backlight-is.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0015-beaglebone-enable-PWM-for-lcd-backlight-backlight-is.patch index e20d3208..0d645ffb 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0015-beaglebone-enable-PWM-for-lcd-backlight-backlight-is.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0015-beaglebone-enable-PWM-for-lcd-backlight-backlight-is.patch | |||
@@ -1,13 +1,13 @@ | |||
1 | From 8930849074cc11163a2f176927d4e76072d4fb80 Mon Sep 17 00:00:00 2001 | 1 | From 33182602bad8a5aec644e69d800f5bc5c6604419 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Tue, 31 Jan 2012 17:02:10 +0100 | 3 | Date: Tue, 31 Jan 2012 17:02:10 +0100 |
4 | Subject: [PATCH 15/56] beaglebone: enable PWM for lcd backlight <- backlight | 4 | Subject: [PATCH 15/79] beaglebone: enable PWM for lcd backlight <- backlight |
5 | is inverted | 5 | is inverted |
6 | 6 | ||
7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
8 | --- | 8 | --- |
9 | arch/arm/mach-omap2/board-am335xevm.c | 51 +++++++++++++++++++++++++++------ | 9 | arch/arm/mach-omap2/board-am335xevm.c | 51 +++++++++++++++++++++++++++------ |
10 | 1 files changed, 42 insertions(+), 9 deletions(-) | 10 | 1 file changed, 42 insertions(+), 9 deletions(-) |
11 | 11 | ||
12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
13 | index ffbecae..43a83ca 100644 | 13 | index ffbecae..43a83ca 100644 |
@@ -119,5 +119,5 @@ index ffbecae..43a83ca 100644 | |||
119 | } | 119 | } |
120 | 120 | ||
121 | -- | 121 | -- |
122 | 1.7.7.6 | 122 | 1.7.10 |
123 | 123 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0016-omap_hsmmc-Set-dto-to-max-value-of-14-to-avoid-SD-Ca.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0016-omap_hsmmc-Set-dto-to-max-value-of-14-to-avoid-SD-Ca.patch index 0ef109c1..120f59f6 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0016-omap_hsmmc-Set-dto-to-max-value-of-14-to-avoid-SD-Ca.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0016-omap_hsmmc-Set-dto-to-max-value-of-14-to-avoid-SD-Ca.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From e099fdb60eae41faea813fd1098af28b38f050d1 Mon Sep 17 00:00:00 2001 | 1 | From ec0ef23dd64de808f7e9d827ee82ac4734d8a003 Mon Sep 17 00:00:00 2001 |
2 | From: Steve Sakoman <steve@sakoman.com> | 2 | From: Steve Sakoman <steve@sakoman.com> |
3 | Date: Mon, 18 Jul 2011 23:13:41 -0500 | 3 | Date: Mon, 18 Jul 2011 23:13:41 -0500 |
4 | Subject: [PATCH 16/56] omap_hsmmc: Set dto to max value of 14 to avoid SD | 4 | Subject: [PATCH 16/79] omap_hsmmc: Set dto to max value of 14 to avoid SD |
5 | Card timeouts | 5 | Card timeouts |
6 | 6 | ||
7 | This fixes MMC errors due to timeouts on certain SD Cards following suggestions | 7 | This fixes MMC errors due to timeouts on certain SD Cards following suggestions |
@@ -13,13 +13,13 @@ http://talk.maemo.org/showthread.php?p=1000707#post1000707 | |||
13 | This fix was originally proposed by Sukumar Ghoral of TI. | 13 | This fix was originally proposed by Sukumar Ghoral of TI. |
14 | --- | 14 | --- |
15 | drivers/mmc/host/omap_hsmmc.c | 3 +++ | 15 | drivers/mmc/host/omap_hsmmc.c | 3 +++ |
16 | 1 files changed, 3 insertions(+), 0 deletions(-) | 16 | 1 file changed, 3 insertions(+) |
17 | 17 | ||
18 | diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c | 18 | diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c |
19 | index 1f938d9..ace26f7 100644 | 19 | index 22da8f2..adbc4d1 100644 |
20 | --- a/drivers/mmc/host/omap_hsmmc.c | 20 | --- a/drivers/mmc/host/omap_hsmmc.c |
21 | +++ b/drivers/mmc/host/omap_hsmmc.c | 21 | +++ b/drivers/mmc/host/omap_hsmmc.c |
22 | @@ -1542,6 +1542,9 @@ static void set_data_timeout(struct omap_hsmmc_host *host) | 22 | @@ -1554,6 +1554,9 @@ static void set_data_timeout(struct omap_hsmmc_host *host) |
23 | /* Use the maximum timeout value allowed in the standard of 14 or 0xE */ | 23 | /* Use the maximum timeout value allowed in the standard of 14 or 0xE */ |
24 | dto = 14; | 24 | dto = 14; |
25 | 25 | ||
@@ -30,5 +30,5 @@ index 1f938d9..ace26f7 100644 | |||
30 | reg |= dto << DTO_SHIFT; | 30 | reg |= dto << DTO_SHIFT; |
31 | OMAP_HSMMC_WRITE(host->base, SYSCTL, reg); | 31 | OMAP_HSMMC_WRITE(host->base, SYSCTL, reg); |
32 | -- | 32 | -- |
33 | 1.7.7.6 | 33 | 1.7.10 |
34 | 34 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0017-beaglebone-set-default-brightness-to-50-for-pwm-back.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0017-beaglebone-set-default-brightness-to-50-for-pwm-back.patch index 3ad8b520..ed19d76f 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0017-beaglebone-set-default-brightness-to-50-for-pwm-back.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0017-beaglebone-set-default-brightness-to-50-for-pwm-back.patch | |||
@@ -1,13 +1,13 @@ | |||
1 | From 8de8f4d2da1d92847f27babbf3a91ca960afdbc9 Mon Sep 17 00:00:00 2001 | 1 | From 5ef54fcdbb6f2cee36b88ed04ea7c3d604702659 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Wed, 1 Feb 2012 14:10:38 +0100 | 3 | Date: Wed, 1 Feb 2012 14:10:38 +0100 |
4 | Subject: [PATCH 17/56] beaglebone: set default brightness to 50% for pwm | 4 | Subject: [PATCH 17/79] beaglebone: set default brightness to 50% for pwm |
5 | backlights | 5 | backlights |
6 | 6 | ||
7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
8 | --- | 8 | --- |
9 | arch/arm/mach-omap2/board-am335xevm.c | 2 +- | 9 | arch/arm/mach-omap2/board-am335xevm.c | 2 +- |
10 | 1 files changed, 1 insertions(+), 1 deletions(-) | 10 | 1 file changed, 1 insertion(+), 1 deletion(-) |
11 | 11 | ||
12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
13 | index 43a83ca..97b069f 100644 | 13 | index 43a83ca..97b069f 100644 |
@@ -23,5 +23,5 @@ index 43a83ca..97b069f 100644 | |||
23 | 23 | ||
24 | #define PWM_DEVICE_ID "ecap.0" | 24 | #define PWM_DEVICE_ID "ecap.0" |
25 | -- | 25 | -- |
26 | 1.7.7.6 | 26 | 1.7.10 |
27 | 27 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0018-st7735fb-WIP-framebuffer-driver-supporting-Adafruit-.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0018-st7735fb-WIP-framebuffer-driver-supporting-Adafruit-.patch index d6a06f1a..de1854b7 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0018-st7735fb-WIP-framebuffer-driver-supporting-Adafruit-.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0018-st7735fb-WIP-framebuffer-driver-supporting-Adafruit-.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 4d3af135dec5fcd7119e62c17d5db6d678ad68d5 Mon Sep 17 00:00:00 2001 | 1 | From b54647b2f6825845e678995cf9a9824f763b6eb1 Mon Sep 17 00:00:00 2001 |
2 | From: Matt Porter <mporter@ti.com> | 2 | From: Matt Porter <mporter@ti.com> |
3 | Date: Mon, 21 Nov 2011 12:55:23 -0500 | 3 | Date: Mon, 21 Nov 2011 12:55:23 -0500 |
4 | Subject: [PATCH 18/56] st7735fb: WIP framebuffer driver supporting Adafruit | 4 | Subject: [PATCH 18/79] st7735fb: WIP framebuffer driver supporting Adafruit |
5 | 1.8" SPI LCD | 5 | 1.8" SPI LCD |
6 | 6 | ||
7 | Signed-off-by: Matt Porter <mporter@ti.com> | 7 | Signed-off-by: Matt Porter <mporter@ti.com> |
@@ -11,7 +11,7 @@ Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | |||
11 | drivers/video/Makefile | 1 + | 11 | drivers/video/Makefile | 1 + |
12 | drivers/video/st7735fb.c | 516 ++++++++++++++++++++++++++++++++++++++++++++++ | 12 | drivers/video/st7735fb.c | 516 ++++++++++++++++++++++++++++++++++++++++++++++ |
13 | include/video/st7735fb.h | 86 ++++++++ | 13 | include/video/st7735fb.h | 86 ++++++++ |
14 | 4 files changed, 614 insertions(+), 0 deletions(-) | 14 | 4 files changed, 614 insertions(+) |
15 | create mode 100644 drivers/video/st7735fb.c | 15 | create mode 100644 drivers/video/st7735fb.c |
16 | create mode 100644 include/video/st7735fb.h | 16 | create mode 100644 include/video/st7735fb.h |
17 | 17 | ||
@@ -664,5 +664,5 @@ index 0000000..250f036 | |||
664 | + | 664 | + |
665 | + | 665 | + |
666 | -- | 666 | -- |
667 | 1.7.7.6 | 667 | 1.7.10 |
668 | 668 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0019-beaglebone-use-P8_6-gpio1_3-as-w1-bus.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0019-beaglebone-use-P8_6-gpio1_3-as-w1-bus.patch index 96390aa4..6751e969 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0019-beaglebone-use-P8_6-gpio1_3-as-w1-bus.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0019-beaglebone-use-P8_6-gpio1_3-as-w1-bus.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From 6a862f51ac8eca5e4e00acdc13a73db521eb74fa Mon Sep 17 00:00:00 2001 | 1 | From 1fcc4aabf4fa4ffe4ebfbfe4adbce3913389a0a0 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Tue, 7 Feb 2012 11:01:13 +0100 | 3 | Date: Tue, 7 Feb 2012 11:01:13 +0100 |
4 | Subject: [PATCH 19/56] beaglebone: use P8_6 (gpio1_3) as w1 bus | 4 | Subject: [PATCH 19/79] beaglebone: use P8_6 (gpio1_3) as w1 bus |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 31 +++++++++++++++++++++++++++++++ | 8 | arch/arm/mach-omap2/board-am335xevm.c | 31 +++++++++++++++++++++++++++++++ |
9 | 1 files changed, 31 insertions(+), 0 deletions(-) | 9 | 1 file changed, 31 insertions(+) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index 97b069f..3ba4bbc 100644 | 12 | index 97b069f..3ba4bbc 100644 |
@@ -79,5 +79,5 @@ index 97b069f..3ba4bbc 100644 | |||
79 | }; | 79 | }; |
80 | 80 | ||
81 | -- | 81 | -- |
82 | 1.7.7.6 | 82 | 1.7.10 |
83 | 83 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0020-beaglebone-add-support-for-Towertech-TT3201-CAN-cape.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0020-beaglebone-add-support-for-Towertech-TT3201-CAN-cape.patch index 80e2b1e5..1a63942e 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0020-beaglebone-add-support-for-Towertech-TT3201-CAN-cape.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0020-beaglebone-add-support-for-Towertech-TT3201-CAN-cape.patch | |||
@@ -1,13 +1,13 @@ | |||
1 | From fc2a970788a0181b495f79a78b35e6bdd6987aa8 Mon Sep 17 00:00:00 2001 | 1 | From c57ec6cbf0fc195c3253b9db23dab08554377cd5 Mon Sep 17 00:00:00 2001 |
2 | From: Alessandro Zummo <a.zummo@towertech.it> | 2 | From: Alessandro Zummo <a.zummo@towertech.it> |
3 | Date: Thu, 9 Feb 2012 12:46:52 +0100 | 3 | Date: Thu, 9 Feb 2012 12:46:52 +0100 |
4 | Subject: [PATCH 20/56] beaglebone: add support for Towertech TT3201 CAN cape | 4 | Subject: [PATCH 20/79] beaglebone: add support for Towertech TT3201 CAN cape |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 54 ++++++++++++++++++++++++++++++++- | 8 | arch/arm/mach-omap2/board-am335xevm.c | 54 ++++++++++++++++++++++++++++++++- |
9 | arch/arm/mach-omap2/mux33xx.c | 8 ++-- | 9 | arch/arm/mach-omap2/mux33xx.c | 8 ++--- |
10 | drivers/net/can/dev.c | 8 ++-- | 10 | drivers/net/can/dev.c | 8 ++--- |
11 | drivers/net/can/mcp251x.c | 47 ++++++++++++++++++++++------ | 11 | drivers/net/can/mcp251x.c | 47 ++++++++++++++++++++++------ |
12 | 4 files changed, 98 insertions(+), 19 deletions(-) | 12 | 4 files changed, 98 insertions(+), 19 deletions(-) |
13 | 13 | ||
@@ -316,5 +316,5 @@ index 330140e..b3e231c 100644 | |||
316 | } | 316 | } |
317 | error_probe: | 317 | error_probe: |
318 | -- | 318 | -- |
319 | 1.7.7.6 | 319 | 1.7.10 |
320 | 320 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0021-beaglebone-add-more-beagleboardtoys-cape-partnumbers.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0021-beaglebone-add-more-beagleboardtoys-cape-partnumbers.patch index b2427890..607d3c85 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0021-beaglebone-add-more-beagleboardtoys-cape-partnumbers.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0021-beaglebone-add-more-beagleboardtoys-cape-partnumbers.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From b7bcc2d2d68f0683ee25027fa33afd43357912cb Mon Sep 17 00:00:00 2001 | 1 | From 3d11cccc72d7ec50c8da319e45cafb4f02431211 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Mon, 19 Mar 2012 12:01:35 +0100 | 3 | Date: Mon, 19 Mar 2012 12:01:35 +0100 |
4 | Subject: [PATCH 21/56] beaglebone: add more beagleboardtoys cape partnumbers | 4 | Subject: [PATCH 21/79] beaglebone: add more beagleboardtoys cape partnumbers |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 25 ++++++++++++++++++++++++- | 8 | arch/arm/mach-omap2/board-am335xevm.c | 25 ++++++++++++++++++++++++- |
9 | 1 files changed, 24 insertions(+), 1 deletions(-) | 9 | 1 file changed, 24 insertions(+), 1 deletion(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index a8dfcdf..f854329 100644 | 12 | index a8dfcdf..f854329 100644 |
@@ -49,5 +49,5 @@ index a8dfcdf..f854329 100644 | |||
49 | pr_info("BeagleBone cape: exporting ADC pins to sysfs\n"); | 49 | pr_info("BeagleBone cape: exporting ADC pins to sysfs\n"); |
50 | bone_tsc_init(0,0); | 50 | bone_tsc_init(0,0); |
51 | -- | 51 | -- |
52 | 1.7.7.6 | 52 | 1.7.10 |
53 | 53 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0022-beaglebone-add-gpio-keys-for-lcd7-add-notes-for-miss.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0022-beaglebone-add-gpio-keys-for-lcd7-add-notes-for-miss.patch index e29a568d..4eaefffe 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0022-beaglebone-add-gpio-keys-for-lcd7-add-notes-for-miss.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0022-beaglebone-add-gpio-keys-for-lcd7-add-notes-for-miss.patch | |||
@@ -1,13 +1,13 @@ | |||
1 | From 7d829ebc289c6e311171cb3974e428ed2562c0ad Mon Sep 17 00:00:00 2001 | 1 | From bc8957c4a563945781b0e3c41f5a8068d88122f9 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Mon, 19 Mar 2012 13:32:43 +0100 | 3 | Date: Mon, 19 Mar 2012 13:32:43 +0100 |
4 | Subject: [PATCH 22/56] beaglebone: add gpio-keys for lcd7, add notes for | 4 | Subject: [PATCH 22/79] beaglebone: add gpio-keys for lcd7, add notes for |
5 | missing functionality for other capes | 5 | missing functionality for other capes |
6 | 6 | ||
7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
8 | --- | 8 | --- |
9 | arch/arm/mach-omap2/board-am335xevm.c | 79 +++++++++++++++++++++++++++++++++ | 9 | arch/arm/mach-omap2/board-am335xevm.c | 79 +++++++++++++++++++++++++++++++++ |
10 | 1 files changed, 79 insertions(+), 0 deletions(-) | 10 | 1 file changed, 79 insertions(+) |
11 | 11 | ||
12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
13 | index f854329..9e9cf5b 100644 | 13 | index f854329..9e9cf5b 100644 |
@@ -126,5 +126,5 @@ index f854329..9e9cf5b 100644 | |||
126 | } | 126 | } |
127 | 127 | ||
128 | -- | 128 | -- |
129 | 1.7.7.6 | 129 | 1.7.10 |
130 | 130 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0023-beaglebone-add-enter-key-for-lcd7-cape.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0023-beaglebone-add-enter-key-for-lcd7-cape.patch index 4b8faef5..25a73d4d 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0023-beaglebone-add-enter-key-for-lcd7-cape.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0023-beaglebone-add-enter-key-for-lcd7-cape.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From d7eecab57e0c72ef16663b45d2e1498368cfe9fe Mon Sep 17 00:00:00 2001 | 1 | From 1fb7daa57c2079ec42cff0d26336e430fad7946f Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Mon, 19 Mar 2012 14:26:37 +0100 | 3 | Date: Mon, 19 Mar 2012 14:26:37 +0100 |
4 | Subject: [PATCH 23/56] beaglebone: add enter key for lcd7 cape | 4 | Subject: [PATCH 23/79] beaglebone: add enter key for lcd7 cape |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 9 +++++++++ | 8 | arch/arm/mach-omap2/board-am335xevm.c | 9 +++++++++ |
9 | 1 files changed, 9 insertions(+), 0 deletions(-) | 9 | 1 file changed, 9 insertions(+) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index 9e9cf5b..8c78eb5 100644 | 12 | index 9e9cf5b..8c78eb5 100644 |
@@ -36,5 +36,5 @@ index 9e9cf5b..8c78eb5 100644 | |||
36 | 36 | ||
37 | static struct gpio_keys_platform_data beaglebone_lcd7_gpio_key_info = { | 37 | static struct gpio_keys_platform_data beaglebone_lcd7_gpio_key_info = { |
38 | -- | 38 | -- |
39 | 1.7.7.6 | 39 | 1.7.10 |
40 | 40 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0024-beaglebone-add-gpio-keys-for-lcd.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0024-beaglebone-add-gpio-keys-for-lcd.patch index 3fb1d9d0..49ef1464 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0024-beaglebone-add-gpio-keys-for-lcd.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0024-beaglebone-add-gpio-keys-for-lcd.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From 15f9d6c3d2ea7b9c932b311e7b615735bb940f01 Mon Sep 17 00:00:00 2001 | 1 | From 5bc55512fb72b331c09769036da6b754430fd399 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Mon, 19 Mar 2012 15:15:06 +0100 | 3 | Date: Mon, 19 Mar 2012 15:15:06 +0100 |
4 | Subject: [PATCH 24/56] beaglebone: add gpio-keys for lcd | 4 | Subject: [PATCH 24/79] beaglebone: add gpio-keys for lcd |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 82 +++++++++++++++++++++++++++++++-- | 8 | arch/arm/mach-omap2/board-am335xevm.c | 82 +++++++++++++++++++++++++++++++-- |
9 | 1 files changed, 78 insertions(+), 4 deletions(-) | 9 | 1 file changed, 78 insertions(+), 4 deletions(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index 8c78eb5..5266f78 100644 | 12 | index 8c78eb5..5266f78 100644 |
@@ -109,5 +109,5 @@ index 8c78eb5..5266f78 100644 | |||
109 | 109 | ||
110 | if (!strncmp("BB-BONE-VGA-01", cape_config.partnumber, 15)) { | 110 | if (!strncmp("BB-BONE-VGA-01", cape_config.partnumber, 15)) { |
111 | -- | 111 | -- |
112 | 1.7.7.6 | 112 | 1.7.10 |
113 | 113 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0025-beaglebone-fix-direction-of-gpio-keys.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0025-beaglebone-fix-direction-of-gpio-keys.patch index 39f255b7..e0d5c0c3 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0025-beaglebone-fix-direction-of-gpio-keys.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0025-beaglebone-fix-direction-of-gpio-keys.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From 9ae51575e2d99c806ee5caabb4a11a380e5e9b7b Mon Sep 17 00:00:00 2001 | 1 | From a9f029372abbaef2e9f55e2be728ae8bbc54bdaa Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Mon, 26 Mar 2012 20:28:56 +0200 | 3 | Date: Mon, 26 Mar 2012 20:28:56 +0200 |
4 | Subject: [PATCH 25/56] beaglebone: fix direction of gpio-keys | 4 | Subject: [PATCH 25/79] beaglebone: fix direction of gpio-keys |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 20 ++++++++++---------- | 8 | arch/arm/mach-omap2/board-am335xevm.c | 20 ++++++++++---------- |
9 | 1 files changed, 10 insertions(+), 10 deletions(-) | 9 | 1 file changed, 10 insertions(+), 10 deletions(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index 5266f78..36b0c85 100644 | 12 | index 5266f78..36b0c85 100644 |
@@ -103,5 +103,5 @@ index 5266f78..36b0c85 100644 | |||
103 | .type = EV_KEY, | 103 | .type = EV_KEY, |
104 | .wakeup = 1, | 104 | .wakeup = 1, |
105 | -- | 105 | -- |
106 | 1.7.7.6 | 106 | 1.7.10 |
107 | 107 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0026-beaglebone-fix-3.5-lcd-cape-support.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0026-beaglebone-fix-3.5-lcd-cape-support.patch index 879920dd..bb2f0025 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0026-beaglebone-fix-3.5-lcd-cape-support.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0026-beaglebone-fix-3.5-lcd-cape-support.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 1979148439115875ee92c370e369a28ba3b5f37c Mon Sep 17 00:00:00 2001 | 1 | From 6f82ce8b4cd239aa7b262e0a0b62d42545b9d21b Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Wed, 29 Feb 2012 17:25:22 +0100 | 3 | Date: Wed, 29 Feb 2012 17:25:22 +0100 |
4 | Subject: [PATCH 26/56] beaglebone: fix 3.5" lcd cape support | 4 | Subject: [PATCH 26/79] beaglebone: fix 3.5" lcd cape support |
5 | 5 | ||
6 | * proper timings | 6 | * proper timings |
7 | * fix gpio conflict | 7 | * fix gpio conflict |
@@ -10,7 +10,7 @@ Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | |||
10 | --- | 10 | --- |
11 | arch/arm/mach-omap2/board-am335xevm.c | 42 ++++++++++++++++++++++++++++++++- | 11 | arch/arm/mach-omap2/board-am335xevm.c | 42 ++++++++++++++++++++++++++++++++- |
12 | drivers/video/da8xx-fb.c | 14 +++++++++++ | 12 | drivers/video/da8xx-fb.c | 14 +++++++++++ |
13 | 2 files changed, 55 insertions(+), 1 deletions(-) | 13 | 2 files changed, 55 insertions(+), 1 deletion(-) |
14 | 14 | ||
15 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 15 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
16 | index 36b0c85..127516f 100644 | 16 | index 36b0c85..127516f 100644 |
@@ -105,5 +105,5 @@ index b01f15b..86b19ac 100644 | |||
105 | 105 | ||
106 | /* Enable the Raster Engine of the LCD Controller */ | 106 | /* Enable the Raster Engine of the LCD Controller */ |
107 | -- | 107 | -- |
108 | 1.7.7.6 | 108 | 1.7.10 |
109 | 109 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0027-beaglebone-decrease-PWM-frequency-to-old-value-LCD7-.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0027-beaglebone-decrease-PWM-frequency-to-old-value-LCD7-.patch index 414a9584..05439e6d 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0027-beaglebone-decrease-PWM-frequency-to-old-value-LCD7-.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0027-beaglebone-decrease-PWM-frequency-to-old-value-LCD7-.patch | |||
@@ -1,13 +1,13 @@ | |||
1 | From 07553571e947d49d906d5f12fd0cb4eac6a8c4e5 Mon Sep 17 00:00:00 2001 | 1 | From b199c282abaee2188141c0885198466e8028f181 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Tue, 17 Apr 2012 11:25:00 +0200 | 3 | Date: Tue, 17 Apr 2012 11:25:00 +0200 |
4 | Subject: [PATCH 27/56] beaglebone: decrease PWM frequency to old value, LCD7 | 4 | Subject: [PATCH 27/79] beaglebone: decrease PWM frequency to old value, LCD7 |
5 | doesn't like it | 5 | doesn't like it |
6 | 6 | ||
7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
8 | --- | 8 | --- |
9 | arch/arm/mach-omap2/board-am335xevm.c | 2 +- | 9 | arch/arm/mach-omap2/board-am335xevm.c | 2 +- |
10 | 1 files changed, 1 insertions(+), 1 deletions(-) | 10 | 1 file changed, 1 insertion(+), 1 deletion(-) |
11 | 11 | ||
12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
13 | index 127516f..4d5238d 100644 | 13 | index 127516f..4d5238d 100644 |
@@ -23,5 +23,5 @@ index 127516f..4d5238d 100644 | |||
23 | #define PWM_DEVICE_ID "ecap.0" | 23 | #define PWM_DEVICE_ID "ecap.0" |
24 | 24 | ||
25 | -- | 25 | -- |
26 | 1.7.7.6 | 26 | 1.7.10 |
27 | 27 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0028-beaglebone-fix-ehrpwm-backlight.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0028-beaglebone-fix-ehrpwm-backlight.patch index 42e945f4..066d4995 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0028-beaglebone-fix-ehrpwm-backlight.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0028-beaglebone-fix-ehrpwm-backlight.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From 1ca68f8e87f5825a54c41f5d1fbf90fc2c09496c Mon Sep 17 00:00:00 2001 | 1 | From 4456663edfc37d478da19c13683b9e58833ca997 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Tue, 17 Apr 2012 12:35:01 +0200 | 3 | Date: Tue, 17 Apr 2012 12:35:01 +0200 |
4 | Subject: [PATCH 28/56] beaglebone: fix ehrpwm backlight | 4 | Subject: [PATCH 28/79] beaglebone: fix ehrpwm backlight |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 1 + | 8 | arch/arm/mach-omap2/board-am335xevm.c | 1 + |
9 | 1 files changed, 1 insertions(+), 0 deletions(-) | 9 | 1 file changed, 1 insertion(+) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index 4d5238d..24ed0b6 100644 | 12 | index 4d5238d..24ed0b6 100644 |
@@ -21,5 +21,5 @@ index 4d5238d..24ed0b6 100644 | |||
21 | 21 | ||
22 | /* Setup pwm-backlight for bbtoys7lcd */ | 22 | /* Setup pwm-backlight for bbtoys7lcd */ |
23 | -- | 23 | -- |
24 | 1.7.7.6 | 24 | 1.7.10 |
25 | 25 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0029-beaglebone-also-report-cape-revision.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0029-beaglebone-also-report-cape-revision.patch index 6dc4a4b9..03676a6a 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0029-beaglebone-also-report-cape-revision.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0029-beaglebone-also-report-cape-revision.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From 247ab0d5d63145121e94afaee1b221545d37eb20 Mon Sep 17 00:00:00 2001 | 1 | From d79d7b027fa6f411a64d65d56d0421cde619f43c Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Tue, 17 Apr 2012 12:57:38 +0200 | 3 | Date: Tue, 17 Apr 2012 12:57:38 +0200 |
4 | Subject: [PATCH 29/56] beaglebone: also report cape revision | 4 | Subject: [PATCH 29/79] beaglebone: also report cape revision |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 4 +++- | 8 | arch/arm/mach-omap2/board-am335xevm.c | 4 +++- |
9 | 1 files changed, 3 insertions(+), 1 deletions(-) | 9 | 1 file changed, 3 insertions(+), 1 deletion(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index 24ed0b6..a4e113c 100644 | 12 | index 24ed0b6..a4e113c 100644 |
@@ -32,5 +32,5 @@ index 24ed0b6..a4e113c 100644 | |||
32 | pr_info("BeagleBone cape partnumber: %s\n", tmp); | 32 | pr_info("BeagleBone cape partnumber: %s\n", tmp); |
33 | 33 | ||
34 | -- | 34 | -- |
35 | 1.7.7.6 | 35 | 1.7.10 |
36 | 36 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0030-beaglebone-don-t-compare-undefined-characters-it-mak.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0030-beaglebone-don-t-compare-undefined-characters-it-mak.patch index 7af30730..a4409d17 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0030-beaglebone-don-t-compare-undefined-characters-it-mak.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0030-beaglebone-don-t-compare-undefined-characters-it-mak.patch | |||
@@ -1,13 +1,13 @@ | |||
1 | From e33f195b5e929944ce6934c38a135821f8206a1a Mon Sep 17 00:00:00 2001 | 1 | From bb7bebd5eb51467ff920773cc8dd321102b8d528 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Thu, 19 Apr 2012 07:55:55 +0200 | 3 | Date: Thu, 19 Apr 2012 07:55:55 +0200 |
4 | Subject: [PATCH 30/56] beaglebone: don't compare undefined characters, it | 4 | Subject: [PATCH 30/79] beaglebone: don't compare undefined characters, it |
5 | makes strncomp fail | 5 | makes strncomp fail |
6 | 6 | ||
7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
8 | --- | 8 | --- |
9 | arch/arm/mach-omap2/board-am335xevm.c | 2 +- | 9 | arch/arm/mach-omap2/board-am335xevm.c | 2 +- |
10 | 1 files changed, 1 insertions(+), 1 deletions(-) | 10 | 1 file changed, 1 insertion(+), 1 deletion(-) |
11 | 11 | ||
12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
13 | index a4e113c..f2f03b6 100644 | 13 | index a4e113c..f2f03b6 100644 |
@@ -23,5 +23,5 @@ index a4e113c..f2f03b6 100644 | |||
23 | dvi_init(0,0); | 23 | dvi_init(0,0); |
24 | } | 24 | } |
25 | -- | 25 | -- |
26 | 1.7.7.6 | 26 | 1.7.10 |
27 | 27 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0031-beaglebone-fix-3.5-cape-support.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0031-beaglebone-fix-3.5-cape-support.patch index f7e47de8..4a91e710 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0031-beaglebone-fix-3.5-cape-support.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0031-beaglebone-fix-3.5-cape-support.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From 138b017b71191f87a5f00f94995f144e432b8d9f Mon Sep 17 00:00:00 2001 | 1 | From 46f31bc6d2e3c44f0591216db3151408a0d97133 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Thu, 19 Apr 2012 14:33:53 +0200 | 3 | Date: Thu, 19 Apr 2012 14:33:53 +0200 |
4 | Subject: [PATCH 31/56] beaglebone: fix 3.5" cape support | 4 | Subject: [PATCH 31/79] beaglebone: fix 3.5" cape support |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 42 ++++++++++++++++++++++++++++++++- | 8 | arch/arm/mach-omap2/board-am335xevm.c | 42 ++++++++++++++++++++++++++++++++- |
9 | 1 files changed, 41 insertions(+), 1 deletions(-) | 9 | 1 file changed, 41 insertions(+), 1 deletion(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index f2f03b6..3adc4ac 100644 | 12 | index f2f03b6..3adc4ac 100644 |
@@ -69,5 +69,5 @@ index f2f03b6..3adc4ac 100644 | |||
69 | // we are being stupid and setting pixclock from here instead of da8xx-fb.c | 69 | // we are being stupid and setting pixclock from here instead of da8xx-fb.c |
70 | if (conf_disp_pll(16000000)) { | 70 | if (conf_disp_pll(16000000)) { |
71 | -- | 71 | -- |
72 | 1.7.7.6 | 72 | 1.7.10 |
73 | 73 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0032-beaglebone-connect-batterycape-GPIO-to-gpio-charger.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0032-beaglebone-connect-batterycape-GPIO-to-gpio-charger.patch index 7f922d87..6fe7c899 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0032-beaglebone-connect-batterycape-GPIO-to-gpio-charger.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0032-beaglebone-connect-batterycape-GPIO-to-gpio-charger.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From dbae54fe993315205d8415ef78e83f149c829a9b Mon Sep 17 00:00:00 2001 | 1 | From d8f8e88b0ea9cf4e94a601d5ee2601ee8f1b6d52 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Wed, 25 Apr 2012 12:35:07 +0200 | 3 | Date: Wed, 25 Apr 2012 12:35:07 +0200 |
4 | Subject: [PATCH 32/56] beaglebone: connect batterycape GPIO to gpio-charger | 4 | Subject: [PATCH 32/79] beaglebone: connect batterycape GPIO to gpio-charger |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 46 ++++++++++++++++++++++++++++++++- | 8 | arch/arm/mach-omap2/board-am335xevm.c | 46 ++++++++++++++++++++++++++++++++- |
9 | 1 files changed, 45 insertions(+), 1 deletions(-) | 9 | 1 file changed, 45 insertions(+), 1 deletion(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index 3adc4ac..717bb8c 100644 | 12 | index 3adc4ac..717bb8c 100644 |
@@ -80,5 +80,5 @@ index 3adc4ac..717bb8c 100644 | |||
80 | 80 | ||
81 | if (!strncmp("BB-BONE-SERL", cape_config.partnumber, 12)) { | 81 | if (!strncmp("BB-BONE-SERL", cape_config.partnumber, 12)) { |
82 | -- | 82 | -- |
83 | 1.7.7.6 | 83 | 1.7.10 |
84 | 84 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0033-beaglebone-add-support-for-CAN-and-RS232-cape.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0033-beaglebone-add-support-for-CAN-and-RS232-cape.patch index 6d8b646c..a4eaf506 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0033-beaglebone-add-support-for-CAN-and-RS232-cape.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0033-beaglebone-add-support-for-CAN-and-RS232-cape.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From 2345361d8188eb3a946f2a0ab9e648eba2cc9c27 Mon Sep 17 00:00:00 2001 | 1 | From f9b6989bb732e354c174da80052abbba49f238dd Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Fri, 4 May 2012 13:19:45 +0200 | 3 | Date: Fri, 4 May 2012 13:19:45 +0200 |
4 | Subject: [PATCH 33/56] beaglebone: add support for CAN and RS232 cape | 4 | Subject: [PATCH 33/79] beaglebone: add support for CAN and RS232 cape |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 36 +++++++++++++++++++++++++++----- | 8 | arch/arm/mach-omap2/board-am335xevm.c | 36 +++++++++++++++++++++++++++------ |
9 | 1 files changed, 30 insertions(+), 6 deletions(-) | 9 | 1 file changed, 30 insertions(+), 6 deletions(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index 717bb8c..6e7b203 100644 | 12 | index 717bb8c..6e7b203 100644 |
@@ -63,5 +63,5 @@ index 717bb8c..6e7b203 100644 | |||
63 | } | 63 | } |
64 | 64 | ||
65 | -- | 65 | -- |
66 | 1.7.7.6 | 66 | 1.7.10 |
67 | 67 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0034-beaglebone-add-support-for-DVI-rev.-A2-capes.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0034-beaglebone-add-support-for-DVI-rev.-A2-capes.patch index 14e7cd66..6eceb51d 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0034-beaglebone-add-support-for-DVI-rev.-A2-capes.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0034-beaglebone-add-support-for-DVI-rev.-A2-capes.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From 64918c14ce7c12660cdf3b7650d6992a4eb7a69e Mon Sep 17 00:00:00 2001 | 1 | From 79504e3e113ac68335eb899322a56f3a72462b08 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Thu, 19 Apr 2012 14:23:06 +0200 | 3 | Date: Thu, 19 Apr 2012 14:23:06 +0200 |
4 | Subject: [PATCH 34/56] beaglebone: add support for DVI rev. A2 capes | 4 | Subject: [PATCH 34/79] beaglebone: add support for DVI rev. A2 capes |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 150 ++++++++------------------------- | 8 | arch/arm/mach-omap2/board-am335xevm.c | 150 ++++++++------------------------- |
9 | 1 files changed, 35 insertions(+), 115 deletions(-) | 9 | 1 file changed, 35 insertions(+), 115 deletions(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index 6e7b203..e02c0b6 100644 | 12 | index 6e7b203..e02c0b6 100644 |
@@ -238,5 +238,5 @@ index 6e7b203..e02c0b6 100644 | |||
238 | if (!strncmp("BB-BONE-LCD7-01", cape_config.partnumber, 15)) { | 238 | if (!strncmp("BB-BONE-LCD7-01", cape_config.partnumber, 15)) { |
239 | pr_info("BeagleBone cape: initializing LCD cape\n"); | 239 | pr_info("BeagleBone cape: initializing LCD cape\n"); |
240 | -- | 240 | -- |
241 | 1.7.7.6 | 241 | 1.7.10 |
242 | 242 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0035-beaglebone-enable-LEDs-for-DVI-LCD3-and-LCD7-capes.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0035-beaglebone-enable-LEDs-for-DVI-LCD3-and-LCD7-capes.patch index 3d05376a..622d76b2 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0035-beaglebone-enable-LEDs-for-DVI-LCD3-and-LCD7-capes.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0035-beaglebone-enable-LEDs-for-DVI-LCD3-and-LCD7-capes.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From 11a78ddde39b0ae90c718b724426e01b6af3f8e1 Mon Sep 17 00:00:00 2001 | 1 | From d54dc11ed06da5b83c2c99b404483eefd13d2074 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Fri, 11 May 2012 13:08:24 +0200 | 3 | Date: Fri, 11 May 2012 13:08:24 +0200 |
4 | Subject: [PATCH 35/56] beaglebone: enable LEDs for DVI, LCD3 and LCD7 capes | 4 | Subject: [PATCH 35/79] beaglebone: enable LEDs for DVI, LCD3 and LCD7 capes |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 140 ++++++++++++++++++++++++++++++-- | 8 | arch/arm/mach-omap2/board-am335xevm.c | 140 ++++++++++++++++++++++++++++++--- |
9 | 1 files changed, 131 insertions(+), 9 deletions(-) | 9 | 1 file changed, 131 insertions(+), 9 deletions(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index e02c0b6..8db33b9 100644 | 12 | index e02c0b6..8db33b9 100644 |
@@ -236,5 +236,5 @@ index e02c0b6..8db33b9 100644 | |||
236 | {NULL, 0, 0}, | 236 | {NULL, 0, 0}, |
237 | }; | 237 | }; |
238 | -- | 238 | -- |
239 | 1.7.7.6 | 239 | 1.7.10 |
240 | 240 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0036-Beaglebone-Fixed-compiletime-warnings.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0036-Beaglebone-Fixed-compiletime-warnings.patch index c5766823..e4bc851a 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0036-Beaglebone-Fixed-compiletime-warnings.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0036-Beaglebone-Fixed-compiletime-warnings.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From b038926e4aa0feeeb20bbcf5bb24765ae40162f5 Mon Sep 17 00:00:00 2001 | 1 | From 402cc5ad4f97373171cd7e1cfe17ad5165a8c42c Mon Sep 17 00:00:00 2001 |
2 | From: Bas Laarhoven <sjml@xs4all.nl> | 2 | From: Bas Laarhoven <sjml@xs4all.nl> |
3 | Date: Sun, 13 May 2012 18:06:24 +0200 | 3 | Date: Sun, 13 May 2012 18:06:24 +0200 |
4 | Subject: [PATCH 36/56] Beaglebone: Fixed compiletime warnings. | 4 | Subject: [PATCH 36/79] Beaglebone: Fixed compiletime warnings. |
5 | 5 | ||
6 | Signed-off-by: Bas Laarhoven <sjml@xs4all.nl> | 6 | Signed-off-by: Bas Laarhoven <sjml@xs4all.nl> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 4 ++-- | 8 | arch/arm/mach-omap2/board-am335xevm.c | 4 ++-- |
9 | 1 files changed, 2 insertions(+), 2 deletions(-) | 9 | 1 file changed, 2 insertions(+), 2 deletions(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index 8db33b9..b48e0fd 100644 | 12 | index 8db33b9..b48e0fd 100644 |
@@ -44,5 +44,5 @@ index 8db33b9..b48e0fd 100644 | |||
44 | ret = mem_acc->read(mem_acc, (char *)&cape_config, 0, sizeof(cape_config)); | 44 | ret = mem_acc->read(mem_acc, (char *)&cape_config, 0, sizeof(cape_config)); |
45 | if (ret != sizeof(cape_config)) { | 45 | if (ret != sizeof(cape_config)) { |
46 | -- | 46 | -- |
47 | 1.7.7.6 | 47 | 1.7.10 |
48 | 48 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0037-Beaglebone-Added-missing-termination-record-to-bone_.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0037-Beaglebone-Added-missing-termination-record-to-bone_.patch index e40cd632..a0422168 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0037-Beaglebone-Added-missing-termination-record-to-bone_.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0037-Beaglebone-Added-missing-termination-record-to-bone_.patch | |||
@@ -1,13 +1,13 @@ | |||
1 | From 387e0633f95924f2e70dd48651720c6718e0ff2f Mon Sep 17 00:00:00 2001 | 1 | From ae194fe34a83ae3198010fe20b60308e03e46c61 Mon Sep 17 00:00:00 2001 |
2 | From: Bas Laarhoven <sjml@xs4all.nl> | 2 | From: Bas Laarhoven <sjml@xs4all.nl> |
3 | Date: Sun, 13 May 2012 18:18:52 +0200 | 3 | Date: Sun, 13 May 2012 18:18:52 +0200 |
4 | Subject: [PATCH 37/56] Beaglebone: Added missing termination record to | 4 | Subject: [PATCH 37/79] Beaglebone: Added missing termination record to |
5 | bone_pin_mux data. | 5 | bone_pin_mux data. |
6 | 6 | ||
7 | Signed-off-by: Bas Laarhoven <sjml@xs4all.nl> | 7 | Signed-off-by: Bas Laarhoven <sjml@xs4all.nl> |
8 | --- | 8 | --- |
9 | arch/arm/mach-omap2/board-am335xevm.c | 1 + | 9 | arch/arm/mach-omap2/board-am335xevm.c | 1 + |
10 | 1 files changed, 1 insertions(+), 0 deletions(-) | 10 | 1 file changed, 1 insertion(+) |
11 | 11 | ||
12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
13 | index b48e0fd..7dbeac6 100644 | 13 | index b48e0fd..7dbeac6 100644 |
@@ -22,5 +22,5 @@ index b48e0fd..7dbeac6 100644 | |||
22 | 22 | ||
23 | /* Module pin mux for eCAP0 */ | 23 | /* Module pin mux for eCAP0 */ |
24 | -- | 24 | -- |
25 | 1.7.7.6 | 25 | 1.7.10 |
26 | 26 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0038-board-am335xevm.c-Beaglebone-expose-all-pwms-through.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0038-board-am335xevm.c-Beaglebone-expose-all-pwms-through.patch index cf0730e8..3615878f 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0038-board-am335xevm.c-Beaglebone-expose-all-pwms-through.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0038-board-am335xevm.c-Beaglebone-expose-all-pwms-through.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From adcb99ec934a692e4bdeb993901f5df89188a32c Mon Sep 17 00:00:00 2001 | 1 | From 3bfb8f832b4fb3685755ba893a464865ba1cb824 Mon Sep 17 00:00:00 2001 |
2 | From: Rob Kellett <r-kellett@ti.com> | 2 | From: Rob Kellett <r-kellett@ti.com> |
3 | Date: Mon, 14 May 2012 09:35:35 +0100 | 3 | Date: Mon, 14 May 2012 09:35:35 +0100 |
4 | Subject: [PATCH 38/56] board-am335xevm.c: Beaglebone - expose all pwms | 4 | Subject: [PATCH 38/79] board-am335xevm.c: Beaglebone - expose all pwms |
5 | through sysfs | 5 | through sysfs |
6 | 6 | ||
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 20 +++++++++++++++++++- | 8 | arch/arm/mach-omap2/board-am335xevm.c | 20 +++++++++++++++++++- |
9 | 1 files changed, 19 insertions(+), 1 deletions(-) | 9 | 1 file changed, 19 insertions(+), 1 deletion(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index 7dbeac6..c9ee0a2 100644 | 12 | index 7dbeac6..c9ee0a2 100644 |
@@ -54,5 +54,5 @@ index 7dbeac6..c9ee0a2 100644 | |||
54 | 54 | ||
55 | 55 | ||
56 | -- | 56 | -- |
57 | 1.7.7.6 | 57 | 1.7.10 |
58 | 58 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0039-ARM-OMAP-Mux-Fixed-debugfs-mux-output-always-reporti.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0039-ARM-OMAP-Mux-Fixed-debugfs-mux-output-always-reporti.patch index d4240cf0..4ba9cf8e 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0039-ARM-OMAP-Mux-Fixed-debugfs-mux-output-always-reporti.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0039-ARM-OMAP-Mux-Fixed-debugfs-mux-output-always-reporti.patch | |||
@@ -1,14 +1,14 @@ | |||
1 | From d38171c24019061250e120d554ad89199c58ad53 Mon Sep 17 00:00:00 2001 | 1 | From e8f558360cca470b15e95e0620aa0eb6e4cc7980 Mon Sep 17 00:00:00 2001 |
2 | From: Bas Laarhoven <sjml@xs4all.nl> | 2 | From: Bas Laarhoven <sjml@xs4all.nl> |
3 | Date: Sun, 13 May 2012 18:09:57 +0200 | 3 | Date: Sun, 13 May 2012 18:09:57 +0200 |
4 | Subject: [PATCH 39/56] ARM: OMAP: Mux: Fixed debugfs mux output (always | 4 | Subject: [PATCH 39/79] ARM: OMAP: Mux: Fixed debugfs mux output (always |
5 | reporting pins as output) | 5 | reporting pins as output) |
6 | 6 | ||
7 | Signed-off-by: Bas Laarhoven <sjml@xs4all.nl> | 7 | Signed-off-by: Bas Laarhoven <sjml@xs4all.nl> |
8 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 8 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
9 | --- | 9 | --- |
10 | arch/arm/mach-omap2/mux.c | 62 +++++++++++++++++++++++++++----------------- | 10 | arch/arm/mach-omap2/mux.c | 62 +++++++++++++++++++++++++++------------------ |
11 | 1 files changed, 38 insertions(+), 24 deletions(-) | 11 | 1 file changed, 38 insertions(+), 24 deletions(-) |
12 | 12 | ||
13 | diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c | 13 | diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c |
14 | index e1cc75d..5899266 100644 | 14 | index e1cc75d..5899266 100644 |
@@ -95,5 +95,5 @@ index e1cc75d..5899266 100644 | |||
95 | 95 | ||
96 | do { | 96 | do { |
97 | -- | 97 | -- |
98 | 1.7.7.6 | 98 | 1.7.10 |
99 | 99 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0040-beaglebone-export-SPI2-as-spidev-when-no-capes-are-u.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0040-beaglebone-export-SPI2-as-spidev-when-no-capes-are-u.patch index 3fe08e40..f44ac534 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0040-beaglebone-export-SPI2-as-spidev-when-no-capes-are-u.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0040-beaglebone-export-SPI2-as-spidev-when-no-capes-are-u.patch | |||
@@ -1,13 +1,13 @@ | |||
1 | From b42299b9cd05cb162cd2364fa41e7307515b8a55 Mon Sep 17 00:00:00 2001 | 1 | From 0bbf782ac6c97d57990886959838a6f7ed296b3a Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Mon, 14 May 2012 14:23:45 +0200 | 3 | Date: Mon, 14 May 2012 14:23:45 +0200 |
4 | Subject: [PATCH 40/56] beaglebone: export SPI2 as spidev when no capes are | 4 | Subject: [PATCH 40/79] beaglebone: export SPI2 as spidev when no capes are |
5 | using SPI | 5 | using SPI |
6 | 6 | ||
7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
8 | --- | 8 | --- |
9 | arch/arm/mach-omap2/board-am335xevm.c | 25 +++++++++++++++++++++---- | 9 | arch/arm/mach-omap2/board-am335xevm.c | 25 +++++++++++++++++++++---- |
10 | 1 files changed, 21 insertions(+), 4 deletions(-) | 10 | 1 file changed, 21 insertions(+), 4 deletions(-) |
11 | 11 | ||
12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
13 | index c9ee0a2..a0fa53a 100644 | 13 | index c9ee0a2..a0fa53a 100644 |
@@ -79,5 +79,5 @@ index c9ee0a2..a0fa53a 100644 | |||
79 | { | 79 | { |
80 | phydev->supported &= ~(SUPPORTED_100baseT_Half | | 80 | phydev->supported &= ~(SUPPORTED_100baseT_Half | |
81 | -- | 81 | -- |
82 | 1.7.7.6 | 82 | 1.7.10 |
83 | 83 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0041-st7735fb-Working-WIP-changes-to-make-DMA-safe-and-ad.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0041-st7735fb-Working-WIP-changes-to-make-DMA-safe-and-ad.patch index da872b11..ffbcb6f2 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0041-st7735fb-Working-WIP-changes-to-make-DMA-safe-and-ad.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0041-st7735fb-Working-WIP-changes-to-make-DMA-safe-and-ad.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From eef1e8089f452606aa32ee57b6a39783bd26e51f Mon Sep 17 00:00:00 2001 | 1 | From 7f97d002d17f8de8cde7f248bb1c194172360efe Mon Sep 17 00:00:00 2001 |
2 | From: Matt Porter <mporter@ti.com> | 2 | From: Matt Porter <mporter@ti.com> |
3 | Date: Wed, 28 Mar 2012 23:35:44 -0400 | 3 | Date: Wed, 28 Mar 2012 23:35:44 -0400 |
4 | Subject: [PATCH 41/56] st7735fb: Working WIP changes to make DMA safe and add | 4 | Subject: [PATCH 41/79] st7735fb: Working WIP changes to make DMA safe and add |
5 | endian fix | 5 | endian fix |
6 | 6 | ||
7 | This removes the "from the stack" allocation of 1 byte buffers | 7 | This removes the "from the stack" allocation of 1 byte buffers |
@@ -18,7 +18,7 @@ with the driver. | |||
18 | Signed-off-by: Matt Porter <mporter@ti.com> | 18 | Signed-off-by: Matt Porter <mporter@ti.com> |
19 | --- | 19 | --- |
20 | drivers/video/st7735fb.c | 49 ++++++++++++++++++++++++++++++---------------- | 20 | drivers/video/st7735fb.c | 49 ++++++++++++++++++++++++++++++---------------- |
21 | include/video/st7735fb.h | 2 + | 21 | include/video/st7735fb.h | 2 ++ |
22 | 2 files changed, 34 insertions(+), 17 deletions(-) | 22 | 2 files changed, 34 insertions(+), 17 deletions(-) |
23 | 23 | ||
24 | diff --git a/drivers/video/st7735fb.c b/drivers/video/st7735fb.c | 24 | diff --git a/drivers/video/st7735fb.c b/drivers/video/st7735fb.c |
@@ -139,5 +139,5 @@ index 250f036..e99cd05 100644 | |||
139 | 139 | ||
140 | struct st7735fb_platform_data { | 140 | struct st7735fb_platform_data { |
141 | -- | 141 | -- |
142 | 1.7.7.6 | 142 | 1.7.10 |
143 | 143 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0042-omap-hwmod-silence-st_shift-error.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0042-omap-hwmod-silence-st_shift-error.patch index d29624c6..0f2477d4 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0042-omap-hwmod-silence-st_shift-error.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0042-omap-hwmod-silence-st_shift-error.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 60182b1efd893c0e8c4c6176d2ce0e766d702abb Mon Sep 17 00:00:00 2001 | 1 | From e2542efb1a4a61334eace382a2a4c6d5874cc078 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Wed, 16 May 2012 17:57:31 +0200 | 3 | Date: Wed, 16 May 2012 17:57:31 +0200 |
4 | Subject: [PATCH 42/56] omap hwmod: silence st_shift error | 4 | Subject: [PATCH 42/79] omap hwmod: silence st_shift error |
5 | 5 | ||
6 | During boot the following error is shown: | 6 | During boot the following error is shown: |
7 | 7 | ||
@@ -12,7 +12,7 @@ Since this PSP tree will never run on omap4 remove the print so people will stop | |||
12 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 12 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
13 | --- | 13 | --- |
14 | arch/arm/mach-omap2/omap_hwmod.c | 3 --- | 14 | arch/arm/mach-omap2/omap_hwmod.c | 3 --- |
15 | 1 files changed, 0 insertions(+), 3 deletions(-) | 15 | 1 file changed, 3 deletions(-) |
16 | 16 | ||
17 | diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c | 17 | diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c |
18 | index bc14f9f..a050699 100644 | 18 | index bc14f9f..a050699 100644 |
@@ -29,5 +29,5 @@ index bc14f9f..a050699 100644 | |||
29 | oh->clkdm->pwrdm.ptr->prcm_partition, | 29 | oh->clkdm->pwrdm.ptr->prcm_partition, |
30 | oh->clkdm->pwrdm.ptr->prcm_offs, | 30 | oh->clkdm->pwrdm.ptr->prcm_offs, |
31 | -- | 31 | -- |
32 | 1.7.7.6 | 32 | 1.7.10 |
33 | 33 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0043-cpsw-phy_device-demote-PHY-message-to-INFO.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0043-cpsw-phy_device-demote-PHY-message-to-INFO.patch index 09160baa..b9fb74dd 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0043-cpsw-phy_device-demote-PHY-message-to-INFO.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0043-cpsw-phy_device-demote-PHY-message-to-INFO.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From e846fa8a57d5f050fdb382e8d5599d9b0341a111 Mon Sep 17 00:00:00 2001 | 1 | From f37fa162020846da5950eba704e58e41889b9d3a Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Thu, 17 May 2012 10:59:18 +0200 | 3 | Date: Thu, 17 May 2012 10:59:18 +0200 |
4 | Subject: [PATCH 43/56] cpsw,phy_device: demote PHY message to INFO | 4 | Subject: [PATCH 43/79] cpsw,phy_device: demote PHY message to INFO |
5 | 5 | ||
6 | This keeps them from appearing on the screen when booting with 'quiet' | 6 | This keeps them from appearing on the screen when booting with 'quiet' |
7 | 7 | ||
@@ -47,5 +47,5 @@ index 83a5a5a..8b84789 100644 | |||
47 | } | 47 | } |
48 | phydev = to_phy_device(d); | 48 | phydev = to_phy_device(d); |
49 | -- | 49 | -- |
50 | 1.7.7.6 | 50 | 1.7.10 |
51 | 51 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0044-beaglebone-add-support-for-7-LCD-cape-revision-A2.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0044-beaglebone-add-support-for-7-LCD-cape-revision-A2.patch index c3697bc7..749df75b 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0044-beaglebone-add-support-for-7-LCD-cape-revision-A2.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0044-beaglebone-add-support-for-7-LCD-cape-revision-A2.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From 994f87a816d1bd28483e34df8dfa68950eb70c72 Mon Sep 17 00:00:00 2001 | 1 | From ff466659529efbbc2d01f1461fe461dc0fdea135 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Fri, 18 May 2012 12:17:12 +0200 | 3 | Date: Fri, 18 May 2012 12:17:12 +0200 |
4 | Subject: [PATCH 44/56] beaglebone: add support for 7" LCD cape revision A2 | 4 | Subject: [PATCH 44/79] beaglebone: add support for 7" LCD cape revision A2 |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 24 +++++++++++++++++++++--- | 8 | arch/arm/mach-omap2/board-am335xevm.c | 24 +++++++++++++++++++++--- |
9 | 1 files changed, 21 insertions(+), 3 deletions(-) | 9 | 1 file changed, 21 insertions(+), 3 deletions(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index a0fa53a..5bb71b1 100644 | 12 | index a0fa53a..5bb71b1 100644 |
@@ -62,5 +62,5 @@ index a0fa53a..5bb71b1 100644 | |||
62 | pr_info("BeagleBone cape: initializing LCD cape touchscreen\n"); | 62 | pr_info("BeagleBone cape: initializing LCD cape touchscreen\n"); |
63 | tsc_init(0,0); | 63 | tsc_init(0,0); |
64 | -- | 64 | -- |
65 | 1.7.7.6 | 65 | 1.7.10 |
66 | 66 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0045-beaglebone-allow-capes-to-disable-w1-gpio.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0045-beaglebone-allow-capes-to-disable-w1-gpio.patch index 7d121725..165a68a9 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0045-beaglebone-allow-capes-to-disable-w1-gpio.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0045-beaglebone-allow-capes-to-disable-w1-gpio.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From bddb03181fef4172d529717ff1c613a1770d737c Mon Sep 17 00:00:00 2001 | 1 | From 1b32708444a02b6e42cdd76272a2f09768a3474a Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Fri, 18 May 2012 12:39:25 +0200 | 3 | Date: Fri, 18 May 2012 12:39:25 +0200 |
4 | Subject: [PATCH 45/56] beaglebone: allow capes to disable w1-gpio | 4 | Subject: [PATCH 45/79] beaglebone: allow capes to disable w1-gpio |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 7 +++++-- | 8 | arch/arm/mach-omap2/board-am335xevm.c | 7 +++++-- |
9 | 1 files changed, 5 insertions(+), 2 deletions(-) | 9 | 1 file changed, 5 insertions(+), 2 deletions(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index 5bb71b1..5c89494 100644 | 12 | index 5bb71b1..5c89494 100644 |
@@ -48,5 +48,5 @@ index 5bb71b1..5c89494 100644 | |||
48 | }; | 48 | }; |
49 | 49 | ||
50 | -- | 50 | -- |
51 | 1.7.7.6 | 51 | 1.7.10 |
52 | 52 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0046-beaglebone-add-stub-for-the-camera-cape-to-disable-w.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0046-beaglebone-add-stub-for-the-camera-cape-to-disable-w.patch index 5726f2f0..91d86a39 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0046-beaglebone-add-stub-for-the-camera-cape-to-disable-w.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0046-beaglebone-add-stub-for-the-camera-cape-to-disable-w.patch | |||
@@ -1,13 +1,13 @@ | |||
1 | From d338dc3eff341be3e3c038e300e1636c1b667b0c Mon Sep 17 00:00:00 2001 | 1 | From b1a945344e6abd9bb9f33e9a8dadb8ac22ed2422 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Fri, 18 May 2012 12:58:16 +0200 | 3 | Date: Fri, 18 May 2012 12:58:16 +0200 |
4 | Subject: [PATCH 46/56] beaglebone: add stub for the camera cape to disable | 4 | Subject: [PATCH 46/79] beaglebone: add stub for the camera cape to disable |
5 | w1-gpio | 5 | w1-gpio |
6 | 6 | ||
7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
8 | --- | 8 | --- |
9 | arch/arm/mach-omap2/board-am335xevm.c | 5 +++++ | 9 | arch/arm/mach-omap2/board-am335xevm.c | 5 +++++ |
10 | 1 files changed, 5 insertions(+), 0 deletions(-) | 10 | 1 file changed, 5 insertions(+) |
11 | 11 | ||
12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
13 | index 5c89494..ece4e46 100644 | 13 | index 5c89494..ece4e46 100644 |
@@ -26,5 +26,5 @@ index 5c89494..ece4e46 100644 | |||
26 | if ((capecount > 3) && (beaglebone_tsadcpins_free == 1)) { | 26 | if ((capecount > 3) && (beaglebone_tsadcpins_free == 1)) { |
27 | pr_info("BeagleBone cape: exporting ADC pins to sysfs\n"); | 27 | pr_info("BeagleBone cape: exporting ADC pins to sysfs\n"); |
28 | -- | 28 | -- |
29 | 1.7.7.6 | 29 | 1.7.10 |
30 | 30 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0047-Adding-many-of-the-missing-signals-to-the-mux-table.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0047-Adding-many-of-the-missing-signals-to-the-mux-table.patch index f20aa6c9..6a13c134 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0047-Adding-many-of-the-missing-signals-to-the-mux-table.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0047-Adding-many-of-the-missing-signals-to-the-mux-table.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From 6d5deaa1b63e1b6fc5c72c98cf44bcc5bd919974 Mon Sep 17 00:00:00 2001 | 1 | From 023eed8b578f4b3ccc992ade8344277f9f9e08d6 Mon Sep 17 00:00:00 2001 |
2 | From: Bas Laarhoven <sjml@xs4all.nl> | 2 | From: Bas Laarhoven <sjml@xs4all.nl> |
3 | Date: Sun, 13 May 2012 18:16:34 +0200 | 3 | Date: Sun, 13 May 2012 18:16:34 +0200 |
4 | Subject: [PATCH 47/56] Adding many of the missing signals to the mux table. | 4 | Subject: [PATCH 47/79] Adding many of the missing signals to the mux table. |
5 | 5 | ||
6 | Signed-off-by: Bas Laarhoven <sjml@xs4all.nl> | 6 | Signed-off-by: Bas Laarhoven <sjml@xs4all.nl> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/mux33xx.c | 197 +++++++++++++++++++++-------------------- | 8 | arch/arm/mach-omap2/mux33xx.c | 197 +++++++++++++++++++++-------------------- |
9 | 1 files changed, 101 insertions(+), 96 deletions(-) | 9 | 1 file changed, 101 insertions(+), 96 deletions(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/mux33xx.c b/arch/arm/mach-omap2/mux33xx.c | 11 | diff --git a/arch/arm/mach-omap2/mux33xx.c b/arch/arm/mach-omap2/mux33xx.c |
12 | index 25dcedb..26ecd66 100644 | 12 | index 25dcedb..26ecd66 100644 |
@@ -306,5 +306,5 @@ index 25dcedb..26ecd66 100644 | |||
306 | NULL, NULL, NULL, NULL), | 306 | NULL, NULL, NULL, NULL), |
307 | { .reg_offset = OMAP_MUX_TERMINATOR }, | 307 | { .reg_offset = OMAP_MUX_TERMINATOR }, |
308 | -- | 308 | -- |
309 | 1.7.7.6 | 309 | 1.7.10 |
310 | 310 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0048-Fixed-reversed-part-of-LCD-bus.-Added-even-more-miss.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0048-Fixed-reversed-part-of-LCD-bus.-Added-even-more-miss.patch index a82c17f0..50f1dd3f 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0048-Fixed-reversed-part-of-LCD-bus.-Added-even-more-miss.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0048-Fixed-reversed-part-of-LCD-bus.-Added-even-more-miss.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From 122136b42459ab34853157fb5de1691e890f8f88 Mon Sep 17 00:00:00 2001 | 1 | From 3813937b8337eb49978dfe8e4b938f937b11db37 Mon Sep 17 00:00:00 2001 |
2 | From: Bas Laarhoven <sjml@xs4all.nl> | 2 | From: Bas Laarhoven <sjml@xs4all.nl> |
3 | Date: Mon, 14 May 2012 18:26:12 +0200 | 3 | Date: Mon, 14 May 2012 18:26:12 +0200 |
4 | Subject: [PATCH 48/56] Fixed reversed part of LCD bus. Added even more | 4 | Subject: [PATCH 48/79] Fixed reversed part of LCD bus. Added even more |
5 | missing entries (TBC). | 5 | missing entries (TBC). |
6 | 6 | ||
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/mux33xx.c | 56 ++++++++++++++++++++-------------------- | 8 | arch/arm/mach-omap2/mux33xx.c | 56 ++++++++++++++++++++--------------------- |
9 | 1 files changed, 28 insertions(+), 28 deletions(-) | 9 | 1 file changed, 28 insertions(+), 28 deletions(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/mux33xx.c b/arch/arm/mach-omap2/mux33xx.c | 11 | diff --git a/arch/arm/mach-omap2/mux33xx.c b/arch/arm/mach-omap2/mux33xx.c |
12 | index 26ecd66..72ac899 100644 | 12 | index 26ecd66..72ac899 100644 |
@@ -109,5 +109,5 @@ index 26ecd66..72ac899 100644 | |||
109 | "lcd_data2", "gpmc_a2", "pr1_mii0_txd3", "ehrpwm2_tripzone_input", | 109 | "lcd_data2", "gpmc_a2", "pr1_mii0_txd3", "ehrpwm2_tripzone_input", |
110 | NULL, "pr1_pru1_pru_r30_2", "pr1_pru1_pru_r31_2", "gpio2_8"), | 110 | NULL, "pr1_pru1_pru_r30_2", "pr1_pru1_pru_r31_2", "gpio2_8"), |
111 | -- | 111 | -- |
112 | 1.7.7.6 | 112 | 1.7.10 |
113 | 113 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0049-ts_tscadc-add-defines-for-4x-and-16x-oversampling.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0049-ts_tscadc-add-defines-for-4x-and-16x-oversampling.patch index 96aae363..ad1ad73b 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0049-ts_tscadc-add-defines-for-4x-and-16x-oversampling.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0049-ts_tscadc-add-defines-for-4x-and-16x-oversampling.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From b0977ddac55066159dc227585cf6c682fbb8f1a4 Mon Sep 17 00:00:00 2001 | 1 | From e55b5da533e82e6f61c7ccd947623bce7a45ebf9 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Sat, 19 May 2012 11:29:14 +0200 | 3 | Date: Sat, 19 May 2012 11:29:14 +0200 |
4 | Subject: [PATCH 49/56] ts_tscadc: add defines for 4x and 16x oversampling | 4 | Subject: [PATCH 49/79] ts_tscadc: add defines for 4x and 16x oversampling |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | drivers/input/touchscreen/ti_tscadc.c | 2 ++ | 8 | drivers/input/touchscreen/ti_tscadc.c | 2 ++ |
9 | 1 files changed, 2 insertions(+), 0 deletions(-) | 9 | 1 file changed, 2 insertions(+) |
10 | 10 | ||
11 | diff --git a/drivers/input/touchscreen/ti_tscadc.c b/drivers/input/touchscreen/ti_tscadc.c | 11 | diff --git a/drivers/input/touchscreen/ti_tscadc.c b/drivers/input/touchscreen/ti_tscadc.c |
12 | index 4fd2e18..acb62d1 100644 | 12 | index 4fd2e18..acb62d1 100644 |
@@ -22,5 +22,5 @@ index 4fd2e18..acb62d1 100644 | |||
22 | #define TSCADC_STEPCONFIG_XPP BIT(5) | 22 | #define TSCADC_STEPCONFIG_XPP BIT(5) |
23 | #define TSCADC_STEPCONFIG_XNN BIT(6) | 23 | #define TSCADC_STEPCONFIG_XNN BIT(6) |
24 | -- | 24 | -- |
25 | 1.7.7.6 | 25 | 1.7.10 |
26 | 26 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0050-ts_tscadc-switch-to-4x-oversampling.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0050-ts_tscadc-switch-to-4x-oversampling.patch index 8c562fd9..60c527a7 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0050-ts_tscadc-switch-to-4x-oversampling.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0050-ts_tscadc-switch-to-4x-oversampling.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From fb76db075eb565d152d99b734e3fe9d84b4fe495 Mon Sep 17 00:00:00 2001 | 1 | From 4ec4eca3d419986b16b226d1ebdd2c103077ae07 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Sat, 19 May 2012 11:37:21 +0200 | 3 | Date: Sat, 19 May 2012 11:37:21 +0200 |
4 | Subject: [PATCH 50/56] ts_tscadc: switch to 4x oversampling | 4 | Subject: [PATCH 50/79] ts_tscadc: switch to 4x oversampling |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | drivers/input/touchscreen/ti_tscadc.c | 10 +++++----- | 8 | drivers/input/touchscreen/ti_tscadc.c | 10 +++++----- |
9 | 1 files changed, 5 insertions(+), 5 deletions(-) | 9 | 1 file changed, 5 insertions(+), 5 deletions(-) |
10 | 10 | ||
11 | diff --git a/drivers/input/touchscreen/ti_tscadc.c b/drivers/input/touchscreen/ti_tscadc.c | 11 | diff --git a/drivers/input/touchscreen/ti_tscadc.c b/drivers/input/touchscreen/ti_tscadc.c |
12 | index acb62d1..7df7bb2 100644 | 12 | index acb62d1..7df7bb2 100644 |
@@ -54,5 +54,5 @@ index acb62d1..7df7bb2 100644 | |||
54 | TSCADC_STEPCONFIG_YPN | TSCADC_STEPCONFIG_INM; | 54 | TSCADC_STEPCONFIG_YPN | TSCADC_STEPCONFIG_INM; |
55 | stepconfigz2 = stepconfigz1 | TSCADC_STEPCONFIG_Z1 | | 55 | stepconfigz2 = stepconfigz1 | TSCADC_STEPCONFIG_Z1 | |
56 | -- | 56 | -- |
57 | 1.7.7.6 | 57 | 1.7.10 |
58 | 58 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0051-Fixed-size-of-pinmux-data-array-in-EEPROM-data-struc.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0051-Fixed-size-of-pinmux-data-array-in-EEPROM-data-struc.patch index aba0afa8..711c663c 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0051-Fixed-size-of-pinmux-data-array-in-EEPROM-data-struc.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0051-Fixed-size-of-pinmux-data-array-in-EEPROM-data-struc.patch | |||
@@ -1,13 +1,13 @@ | |||
1 | From 32fc1a1006035b1c05e45e962b89efe7f9c43182 Mon Sep 17 00:00:00 2001 | 1 | From a765d50c30374795b0d421a25a65516d6a66e990 Mon Sep 17 00:00:00 2001 |
2 | From: Bas Laarhoven <sjml@xs4all.nl> | 2 | From: Bas Laarhoven <sjml@xs4all.nl> |
3 | Date: Sun, 13 May 2012 18:07:59 +0200 | 3 | Date: Sun, 13 May 2012 18:07:59 +0200 |
4 | Subject: [PATCH 51/56] Fixed size of pinmux data array in EEPROM data struct. | 4 | Subject: [PATCH 51/79] Fixed size of pinmux data array in EEPROM data struct. |
5 | 5 | ||
6 | Signed-off-by: Bas Laarhoven <sjml@xs4all.nl> | 6 | Signed-off-by: Bas Laarhoven <sjml@xs4all.nl> |
7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
8 | --- | 8 | --- |
9 | arch/arm/mach-omap2/board-am335xevm.c | 2 +- | 9 | arch/arm/mach-omap2/board-am335xevm.c | 2 +- |
10 | 1 files changed, 1 insertions(+), 1 deletions(-) | 10 | 1 file changed, 1 insertion(+), 1 deletion(-) |
11 | 11 | ||
12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
13 | index ece4e46..c6ec997 100644 | 13 | index ece4e46..c6ec997 100644 |
@@ -23,5 +23,5 @@ index ece4e46..c6ec997 100644 | |||
23 | u16 current_vdd5v; | 23 | u16 current_vdd5v; |
24 | u16 current_sys5v; | 24 | u16 current_sys5v; |
25 | -- | 25 | -- |
26 | 1.7.7.6 | 26 | 1.7.10 |
27 | 27 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0052-Implemented-Bone-Cape-configuration-from-EEPROM.-Onl.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0052-Implemented-Bone-Cape-configuration-from-EEPROM.-Onl.patch index f0a3b770..15b428e3 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0052-Implemented-Bone-Cape-configuration-from-EEPROM.-Onl.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0052-Implemented-Bone-Cape-configuration-from-EEPROM.-Onl.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From ef6c0767e7c4337f45080906cda46a2c05e000f8 Mon Sep 17 00:00:00 2001 | 1 | From 2ab55bf6a97122999e0cd6cbe18869fb89b59c0a Mon Sep 17 00:00:00 2001 |
2 | From: Bas Laarhoven <sjml@xs4all.nl> | 2 | From: Bas Laarhoven <sjml@xs4all.nl> |
3 | Date: Sun, 13 May 2012 18:14:22 +0200 | 3 | Date: Sun, 13 May 2012 18:14:22 +0200 |
4 | Subject: [PATCH 52/56] Implemented Bone Cape configuration from EEPROM. Only | 4 | Subject: [PATCH 52/79] Implemented Bone Cape configuration from EEPROM. Only |
5 | used for BEBOPR cape for now. | 5 | used for BEBOPR cape for now. |
6 | 6 | ||
7 | Signed-off-by: Bas Laarhoven <sjml@xs4all.nl> | 7 | Signed-off-by: Bas Laarhoven <sjml@xs4all.nl> |
@@ -9,7 +9,7 @@ Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | |||
9 | --- | 9 | --- |
10 | arch/arm/mach-omap2/board-am335xevm.c | 304 +++++++++++++++++++++++++++++++++ | 10 | arch/arm/mach-omap2/board-am335xevm.c | 304 +++++++++++++++++++++++++++++++++ |
11 | arch/arm/mach-omap2/mux33xx.c | 14 ++ | 11 | arch/arm/mach-omap2/mux33xx.c | 14 ++ |
12 | 2 files changed, 318 insertions(+), 0 deletions(-) | 12 | 2 files changed, 318 insertions(+) |
13 | 13 | ||
14 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 14 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
15 | index c6ec997..7fb8295 100644 | 15 | index c6ec997..7fb8295 100644 |
@@ -359,5 +359,5 @@ index 72ac899..43c8989 100644 | |||
359 | int __init am33xx_mux_init(struct omap_board_mux *board_subset) | 359 | int __init am33xx_mux_init(struct omap_board_mux *board_subset) |
360 | { | 360 | { |
361 | -- | 361 | -- |
362 | 1.7.7.6 | 362 | 1.7.10 |
363 | 363 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0053-Replaced-conditional-debug-code-by-pr_debug-statemen.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0053-Replaced-conditional-debug-code-by-pr_debug-statemen.patch index 175468f7..28024eed 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0053-Replaced-conditional-debug-code-by-pr_debug-statemen.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0053-Replaced-conditional-debug-code-by-pr_debug-statemen.patch | |||
@@ -1,13 +1,13 @@ | |||
1 | From 3df22c4c4db479f189d892bcbf009102855bbd05 Mon Sep 17 00:00:00 2001 | 1 | From 15a5705cf271c9571719d6e5e09e33efba9576b4 Mon Sep 17 00:00:00 2001 |
2 | From: Bas Laarhoven <sjml@xs4all.nl> | 2 | From: Bas Laarhoven <sjml@xs4all.nl> |
3 | Date: Mon, 14 May 2012 14:31:37 +0200 | 3 | Date: Mon, 14 May 2012 14:31:37 +0200 |
4 | Subject: [PATCH 53/56] Replaced conditional debug code by pr_debug statements | 4 | Subject: [PATCH 53/79] Replaced conditional debug code by pr_debug statements |
5 | for cleaner code. | 5 | for cleaner code. |
6 | 6 | ||
7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
8 | --- | 8 | --- |
9 | arch/arm/mach-omap2/board-am335xevm.c | 91 +++++++++++++-------------------- | 9 | arch/arm/mach-omap2/board-am335xevm.c | 91 +++++++++++++-------------------- |
10 | 1 files changed, 36 insertions(+), 55 deletions(-) | 10 | 1 file changed, 36 insertions(+), 55 deletions(-) |
11 | 11 | ||
12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
13 | index 7fb8295..d6a607a 100644 | 13 | index 7fb8295..d6a607a 100644 |
@@ -184,5 +184,5 @@ index 7fb8295..d6a607a 100644 | |||
184 | } | 184 | } |
185 | } else { | 185 | } else { |
186 | -- | 186 | -- |
187 | 1.7.7.6 | 187 | 1.7.10 |
188 | 188 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0054-Workaround-for-boards-with-mistaken-ASCII-interpreta.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0054-Workaround-for-boards-with-mistaken-ASCII-interpreta.patch index 028fe816..8957bbe3 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0054-Workaround-for-boards-with-mistaken-ASCII-interpreta.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0054-Workaround-for-boards-with-mistaken-ASCII-interpreta.patch | |||
@@ -1,13 +1,13 @@ | |||
1 | From bf49a3539e82539d8d347f7d88626c308662ed62 Mon Sep 17 00:00:00 2001 | 1 | From 0d56e585afe2e1cf32a55e93e6a4aa8d659bccf4 Mon Sep 17 00:00:00 2001 |
2 | From: Bas Laarhoven <sjml@xs4all.nl> | 2 | From: Bas Laarhoven <sjml@xs4all.nl> |
3 | Date: Mon, 14 May 2012 14:36:23 +0200 | 3 | Date: Mon, 14 May 2012 14:36:23 +0200 |
4 | Subject: [PATCH 54/56] Workaround for boards with (mistaken) ASCII | 4 | Subject: [PATCH 54/79] Workaround for boards with (mistaken) ASCII |
5 | interpretation for the numpins field. | 5 | interpretation for the numpins field. |
6 | 6 | ||
7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
8 | --- | 8 | --- |
9 | arch/arm/mach-omap2/board-am335xevm.c | 6 ++++++ | 9 | arch/arm/mach-omap2/board-am335xevm.c | 6 ++++++ |
10 | 1 files changed, 6 insertions(+), 0 deletions(-) | 10 | 1 file changed, 6 insertions(+) |
11 | 11 | ||
12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
13 | index d6a607a..0a1738a 100644 | 13 | index d6a607a..0a1738a 100644 |
@@ -27,5 +27,5 @@ index d6a607a..0a1738a 100644 | |||
27 | cnt, NR_ITEMS( cape_config.muxdata)); | 27 | cnt, NR_ITEMS( cape_config.muxdata)); |
28 | RULER( NR_ITEMS( cape_config.muxdata)); | 28 | RULER( NR_ITEMS( cape_config.muxdata)); |
29 | -- | 29 | -- |
30 | 1.7.7.6 | 30 | 1.7.10 |
31 | 31 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0055-Workaround-for-EEPROM-contents-blocking-further-I2C-.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0055-Workaround-for-EEPROM-contents-blocking-further-I2C-.patch index fa23ece2..1275fa5a 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0055-Workaround-for-EEPROM-contents-blocking-further-I2C-.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0055-Workaround-for-EEPROM-contents-blocking-further-I2C-.patch | |||
@@ -1,13 +1,13 @@ | |||
1 | From 2dc46dbcb68848a670dbe877f954835980cf8d66 Mon Sep 17 00:00:00 2001 | 1 | From 8d8ad2973b9d062763f51f1bee0652a6647033a5 Mon Sep 17 00:00:00 2001 |
2 | From: Bas Laarhoven <sjml@xs4all.nl> | 2 | From: Bas Laarhoven <sjml@xs4all.nl> |
3 | Date: Mon, 14 May 2012 15:07:43 +0200 | 3 | Date: Mon, 14 May 2012 15:07:43 +0200 |
4 | Subject: [PATCH 55/56] Workaround for EEPROM contents blocking further I2C | 4 | Subject: [PATCH 55/79] Workaround for EEPROM contents blocking further I2C |
5 | bus access. | 5 | bus access. |
6 | 6 | ||
7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
8 | --- | 8 | --- |
9 | arch/arm/mach-omap2/board-am335xevm.c | 5 ++++- | 9 | arch/arm/mach-omap2/board-am335xevm.c | 5 ++++- |
10 | 1 files changed, 4 insertions(+), 1 deletions(-) | 10 | 1 file changed, 4 insertions(+), 1 deletion(-) |
11 | 11 | ||
12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
13 | index 0a1738a..0fa8a32 100644 | 13 | index 0a1738a..0fa8a32 100644 |
@@ -26,5 +26,5 @@ index 0a1738a..0fa8a32 100644 | |||
26 | case 0: status[ i] = 'i'; break; | 26 | case 0: status[ i] = 'i'; break; |
27 | case 1: status[ i] = 'o'; break; | 27 | case 1: status[ i] = 'o'; break; |
28 | -- | 28 | -- |
29 | 1.7.7.6 | 29 | 1.7.10 |
30 | 30 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0056-Added-check-on-EEPROM-revision-to-prevent-interpreti.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0056-Added-check-on-EEPROM-revision-to-prevent-interpreti.patch index 239e9933..abdaabeb 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0056-Added-check-on-EEPROM-revision-to-prevent-interpreti.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0056-Added-check-on-EEPROM-revision-to-prevent-interpreti.patch | |||
@@ -1,13 +1,13 @@ | |||
1 | From 8c79cdf0bbe2bff8043cf81da7b8793c21f64f17 Mon Sep 17 00:00:00 2001 | 1 | From ae7ecbfa459730344eeb559ce0352662c540289c Mon Sep 17 00:00:00 2001 |
2 | From: Bas Laarhoven <sjml@xs4all.nl> | 2 | From: Bas Laarhoven <sjml@xs4all.nl> |
3 | Date: Tue, 15 May 2012 10:00:47 +0200 | 3 | Date: Tue, 15 May 2012 10:00:47 +0200 |
4 | Subject: [PATCH 56/56] Added check on EEPROM revision to prevent interpreting | 4 | Subject: [PATCH 56/79] Added check on EEPROM revision to prevent interpreting |
5 | unknown formats. | 5 | unknown formats. |
6 | 6 | ||
7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
8 | --- | 8 | --- |
9 | arch/arm/mach-omap2/board-am335xevm.c | 16 +++++++++++++--- | 9 | arch/arm/mach-omap2/board-am335xevm.c | 16 +++++++++++++--- |
10 | 1 files changed, 13 insertions(+), 3 deletions(-) | 10 | 1 file changed, 13 insertions(+), 3 deletions(-) |
11 | 11 | ||
12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
13 | index 0fa8a32..68ddfe2 100644 | 13 | index 0fa8a32..68ddfe2 100644 |
@@ -56,5 +56,5 @@ index 0fa8a32..68ddfe2 100644 | |||
56 | 56 | ||
57 | static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context) | 57 | static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context) |
58 | -- | 58 | -- |
59 | 1.7.7.6 | 59 | 1.7.10 |
60 | 60 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0057-i2c-prescalar-fix-i2c-fixed-prescalar-setting-issue.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0057-i2c-prescalar-fix-i2c-fixed-prescalar-setting-issue.patch index da75695f..feb27c57 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0057-i2c-prescalar-fix-i2c-fixed-prescalar-setting-issue.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0057-i2c-prescalar-fix-i2c-fixed-prescalar-setting-issue.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 2436d7177f75ffa852dc008ce5fe63e92cec963a Mon Sep 17 00:00:00 2001 | 1 | From 3c530584c31f8e61a47a931dedca2f9e75165b9f Mon Sep 17 00:00:00 2001 |
2 | From: Al Pacifico <adpacifico@users.sourceforge.net> | 2 | From: Al Pacifico <adpacifico@users.sourceforge.net> |
3 | Date: Mon, 21 May 2012 11:50:32 -0700 | 3 | Date: Mon, 21 May 2012 11:50:32 -0700 |
4 | Subject: [PATCH 57/61] i2c-prescalar-fix: i2c: fixed prescalar setting issue | 4 | Subject: [PATCH 57/79] i2c-prescalar-fix: i2c: fixed prescalar setting issue |
5 | 5 | ||
6 | Applied Steve's i2c prescalar fix patches. | 6 | Applied Steve's i2c prescalar fix patches. |
7 | See https://groups.google.com/d/msg/beagleboard/Q1pDr1lT7Gk/jvxOxgg8_2MJ | 7 | See https://groups.google.com/d/msg/beagleboard/Q1pDr1lT7Gk/jvxOxgg8_2MJ |
@@ -12,7 +12,7 @@ Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | |||
12 | arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 3 ++- | 12 | arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 3 ++- |
13 | drivers/i2c/busses/i2c-omap.c | 2 ++ | 13 | drivers/i2c/busses/i2c-omap.c | 2 ++ |
14 | include/linux/i2c-omap.h | 1 + | 14 | include/linux/i2c-omap.h | 1 + |
15 | 3 files changed, 5 insertions(+), 1 deletions(-) | 15 | 3 files changed, 5 insertions(+), 1 deletion(-) |
16 | 16 | ||
17 | diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 17 | diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c |
18 | index 9d3c9a5..946e6b5 100644 | 18 | index 9d3c9a5..946e6b5 100644 |
@@ -54,5 +54,5 @@ index fd38249..818f5bf 100644 | |||
54 | #define OMAP_I2C_FLAG_BUS_SHIFT_NONE 0 | 54 | #define OMAP_I2C_FLAG_BUS_SHIFT_NONE 0 |
55 | #define OMAP_I2C_FLAG_BUS_SHIFT_1 BIT(7) | 55 | #define OMAP_I2C_FLAG_BUS_SHIFT_1 BIT(7) |
56 | -- | 56 | -- |
57 | 1.7.7.6 | 57 | 1.7.10 |
58 | 58 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0058-beaglebone-annotate-default-beaglebone-pinmux.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0058-beaglebone-annotate-default-beaglebone-pinmux.patch index 66fb0de7..92b6d48c 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0058-beaglebone-annotate-default-beaglebone-pinmux.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0058-beaglebone-annotate-default-beaglebone-pinmux.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From 178d60b5a56c1f8eff29d23c27cc14bc6c0a9e4c Mon Sep 17 00:00:00 2001 | 1 | From fe280a351fe71d5f1ade1aa3b8f9edc08e201ec1 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Tue, 22 May 2012 10:58:53 +0200 | 3 | Date: Tue, 22 May 2012 10:58:53 +0200 |
4 | Subject: [PATCH 58/61] beaglebone: annotate default beaglebone pinmux | 4 | Subject: [PATCH 58/79] beaglebone: annotate default beaglebone pinmux |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 8 ++++---- | 8 | arch/arm/mach-omap2/board-am335xevm.c | 8 ++++---- |
9 | 1 files changed, 4 insertions(+), 4 deletions(-) | 9 | 1 file changed, 4 insertions(+), 4 deletions(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index 68ddfe2..b079279 100644 | 12 | index 68ddfe2..b079279 100644 |
@@ -28,5 +28,5 @@ index 68ddfe2..b079279 100644 | |||
28 | {"gpmc_ad6.gpio1_6", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP}, | 28 | {"gpmc_ad6.gpio1_6", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP}, |
29 | {NULL, 0}, | 29 | {NULL, 0}, |
30 | -- | 30 | -- |
31 | 1.7.7.6 | 31 | 1.7.10 |
32 | 32 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0059-beaglebone-fix-pin-free-thinko-this-method-doesn-t-g.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0059-beaglebone-fix-pin-free-thinko-this-method-doesn-t-g.patch index 1b55abff..32d9b25f 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0059-beaglebone-fix-pin-free-thinko-this-method-doesn-t-g.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0059-beaglebone-fix-pin-free-thinko-this-method-doesn-t-g.patch | |||
@@ -1,13 +1,13 @@ | |||
1 | From f0f728e400d0512788e59a2d7a17e3aa8584c033 Mon Sep 17 00:00:00 2001 | 1 | From 1b74058d12afa7d51ef84316ec4ede88c565161f Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Tue, 22 May 2012 11:00:00 +0200 | 3 | Date: Tue, 22 May 2012 11:00:00 +0200 |
4 | Subject: [PATCH 59/61] beaglebone: fix pin-free thinko, this method doesn't | 4 | Subject: [PATCH 59/79] beaglebone: fix pin-free thinko, this method doesn't |
5 | get called when there's a cape at 0x57 | 5 | get called when there's a cape at 0x57 |
6 | 6 | ||
7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
8 | --- | 8 | --- |
9 | arch/arm/mach-omap2/board-am335xevm.c | 46 +++++++++++++++------------------ | 9 | arch/arm/mach-omap2/board-am335xevm.c | 46 +++++++++++++++------------------ |
10 | 1 files changed, 21 insertions(+), 25 deletions(-) | 10 | 1 file changed, 21 insertions(+), 25 deletions(-) |
11 | 11 | ||
12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
13 | index b079279..dfe8df5 100644 | 13 | index b079279..dfe8df5 100644 |
@@ -74,5 +74,5 @@ index b079279..dfe8df5 100644 | |||
74 | return; | 74 | return; |
75 | out: | 75 | out: |
76 | -- | 76 | -- |
77 | 1.7.7.6 | 77 | 1.7.10 |
78 | 78 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0060-beaglebone-switch-RS232-cape-to-ttyO2.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0060-beaglebone-switch-RS232-cape-to-ttyO2.patch index 063b2b31..abe82a3e 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0060-beaglebone-switch-RS232-cape-to-ttyO2.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0060-beaglebone-switch-RS232-cape-to-ttyO2.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From b594d005ab1e622b9c3cbf45c2699dde4af3706f Mon Sep 17 00:00:00 2001 | 1 | From 77f8e93f7baf85dfab7cdf8b04c320f460a119cd Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Tue, 22 May 2012 11:00:35 +0200 | 3 | Date: Tue, 22 May 2012 11:00:35 +0200 |
4 | Subject: [PATCH 60/61] beaglebone: switch RS232 cape to ttyO2 | 4 | Subject: [PATCH 60/79] beaglebone: switch RS232 cape to ttyO2 |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 5 +++-- | 8 | arch/arm/mach-omap2/board-am335xevm.c | 5 +++-- |
9 | 1 files changed, 3 insertions(+), 2 deletions(-) | 9 | 1 file changed, 3 insertions(+), 2 deletions(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index dfe8df5..5902df0 100644 | 12 | index dfe8df5..5902df0 100644 |
@@ -25,5 +25,5 @@ index dfe8df5..5902df0 100644 | |||
25 | if (!strncmp("BB-BONE-SERL-04", cape_config.partnumber, 15)) { | 25 | if (!strncmp("BB-BONE-SERL-04", cape_config.partnumber, 15)) { |
26 | pr_info("BeagleBone cape: not initializing RS485 cape\n"); | 26 | pr_info("BeagleBone cape: not initializing RS485 cape\n"); |
27 | -- | 27 | -- |
28 | 1.7.7.6 | 28 | 1.7.10 |
29 | 29 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0061-beaglebone-make-uart2-pinmux-match-the-uart0-pinmux.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0061-beaglebone-make-uart2-pinmux-match-the-uart0-pinmux.patch index 91f324c1..84c55459 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0061-beaglebone-make-uart2-pinmux-match-the-uart0-pinmux.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0061-beaglebone-make-uart2-pinmux-match-the-uart0-pinmux.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From 9c7b14dcac75a1c6456e2cd4ae3e1737ed1c5f47 Mon Sep 17 00:00:00 2001 | 1 | From f138b1ab42cb36c13926e1cee6ed3cd429d1c91b Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Tue, 22 May 2012 12:25:33 +0200 | 3 | Date: Tue, 22 May 2012 12:25:33 +0200 |
4 | Subject: [PATCH 61/61] beaglebone: make uart2 pinmux match the uart0 pinmux | 4 | Subject: [PATCH 61/79] beaglebone: make uart2 pinmux match the uart0 pinmux |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 7 ++----- | 8 | arch/arm/mach-omap2/board-am335xevm.c | 7 ++----- |
9 | 1 files changed, 2 insertions(+), 5 deletions(-) | 9 | 1 file changed, 2 insertions(+), 5 deletions(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index 5902df0..e8ce381 100644 | 12 | index 5902df0..e8ce381 100644 |
@@ -27,5 +27,5 @@ index 5902df0..e8ce381 100644 | |||
27 | }; | 27 | }; |
28 | 28 | ||
29 | -- | 29 | -- |
30 | 1.7.7.6 | 30 | 1.7.10 |
31 | 31 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0062-da8xx-fb-Rounding-FB-size-to-satisfy-SGX-buffer-requ.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0062-da8xx-fb-Rounding-FB-size-to-satisfy-SGX-buffer-requ.patch index f6860cb3..c3cd8e1f 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0062-da8xx-fb-Rounding-FB-size-to-satisfy-SGX-buffer-requ.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0062-da8xx-fb-Rounding-FB-size-to-satisfy-SGX-buffer-requ.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 02ad70ea366cb2946cc7d7c14ddcbd0dabf3d3ff Mon Sep 17 00:00:00 2001 | 1 | From c9201ef3a2d12a49b5070620a204f66eef5017e0 Mon Sep 17 00:00:00 2001 |
2 | From: Aditya Nellutla <aditya.n@ti.com> | 2 | From: Aditya Nellutla <aditya.n@ti.com> |
3 | Date: Thu, 29 Mar 2012 15:45:39 +0530 | 3 | Date: Thu, 29 Mar 2012 15:45:39 +0530 |
4 | Subject: [PATCH 62/63] da8xx-fb: Rounding FB size to satisfy SGX buffer | 4 | Subject: [PATCH 62/79] da8xx-fb: Rounding FB size to satisfy SGX buffer |
5 | requirements | 5 | requirements |
6 | 6 | ||
7 | In the real time use-case when SGX is used for rendering to FB buffers it has been | 7 | In the real time use-case when SGX is used for rendering to FB buffers it has been |
@@ -22,7 +22,7 @@ This patch makes sure that FB allocates buffers aligned to above formula. | |||
22 | Signed-off-by: Aditya Nellutla <aditya.n@ti.com> | 22 | Signed-off-by: Aditya Nellutla <aditya.n@ti.com> |
23 | --- | 23 | --- |
24 | drivers/video/da8xx-fb.c | 5 ++++- | 24 | drivers/video/da8xx-fb.c | 5 ++++- |
25 | 1 files changed, 4 insertions(+), 1 deletions(-) | 25 | 1 file changed, 4 insertions(+), 1 deletion(-) |
26 | 26 | ||
27 | diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c | 27 | diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c |
28 | index 86b19ac..9aaca5d 100644 | 28 | index 86b19ac..9aaca5d 100644 |
@@ -55,5 +55,5 @@ index 86b19ac..9aaca5d 100644 | |||
55 | 55 | ||
56 | par->vram_virt = dma_alloc_coherent(NULL, | 56 | par->vram_virt = dma_alloc_coherent(NULL, |
57 | -- | 57 | -- |
58 | 1.7.7.6 | 58 | 1.7.10 |
59 | 59 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0063-beaglebone-dvi-cape-audio-hacks.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0063-beaglebone-dvi-cape-audio-hacks.patch index 184d1689..f429e74f 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0063-beaglebone-dvi-cape-audio-hacks.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0063-beaglebone-dvi-cape-audio-hacks.patch | |||
@@ -1,13 +1,13 @@ | |||
1 | From 4c0991689b1e22f28d4827b218e31131f9f56be7 Mon Sep 17 00:00:00 2001 | 1 | From 81ca4844089a80e1b1a285ce661f662a04312e81 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Wed, 23 May 2012 15:51:12 +0200 | 3 | Date: Wed, 23 May 2012 15:51:12 +0200 |
4 | Subject: [PATCH 63/63] beaglebone: dvi cape audio hacks | 4 | Subject: [PATCH 63/79] beaglebone: dvi cape audio hacks |
5 | 5 | ||
6 | --- | 6 | --- |
7 | arch/arm/mach-omap2/board-am335xevm.c | 72 ++++++++++++++++++++++++++------ | 7 | arch/arm/mach-omap2/board-am335xevm.c | 72 ++++++++++++++++++++++++++------- |
8 | arch/arm/mach-omap2/devices.c | 2 +- | 8 | arch/arm/mach-omap2/devices.c | 2 +- |
9 | sound/soc/codecs/tlv320aic3x.c | 2 +- | 9 | sound/soc/codecs/tlv320aic3x.c | 2 +- |
10 | sound/soc/davinci/davinci-evm.c | 7 ++- | 10 | sound/soc/davinci/davinci-evm.c | 7 ++-- |
11 | 4 files changed, 64 insertions(+), 19 deletions(-) | 11 | 4 files changed, 64 insertions(+), 19 deletions(-) |
12 | 12 | ||
13 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 13 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
@@ -173,7 +173,7 @@ index 9e029da..41c9b0f 100644 | |||
173 | } | 173 | } |
174 | 174 | ||
175 | diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c | 175 | diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c |
176 | index d0dbac1..fc32b7f 100644 | 176 | index cdb473c..5567756 100644 |
177 | --- a/sound/soc/codecs/tlv320aic3x.c | 177 | --- a/sound/soc/codecs/tlv320aic3x.c |
178 | +++ b/sound/soc/codecs/tlv320aic3x.c | 178 | +++ b/sound/soc/codecs/tlv320aic3x.c |
179 | @@ -52,7 +52,7 @@ | 179 | @@ -52,7 +52,7 @@ |
@@ -213,5 +213,5 @@ index f6a62c3..7ad7b37 100644 | |||
213 | platform_set_drvdata(evm_snd_device, evm_snd_dev_data); | 213 | platform_set_drvdata(evm_snd_device, evm_snd_dev_data); |
214 | ret = platform_device_add(evm_snd_device); | 214 | ret = platform_device_add(evm_snd_device); |
215 | -- | 215 | -- |
216 | 1.7.7.6 | 216 | 1.7.10 |
217 | 217 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0064-beaglebone-always-execute-the-pin-free-checks.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0064-beaglebone-always-execute-the-pin-free-checks.patch index e6f696ed..2c2b12cc 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0064-beaglebone-always-execute-the-pin-free-checks.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0064-beaglebone-always-execute-the-pin-free-checks.patch | |||
@@ -1,14 +1,14 @@ | |||
1 | From 2b000164f7bd77838ec5c9ad5d392282a4e27b3f Mon Sep 17 00:00:00 2001 | 1 | From b7349f4b517f8736efcc1a2c1469b07d7361ee5f Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Wed, 23 May 2012 17:39:12 +0200 | 3 | Date: Wed, 23 May 2012 17:39:12 +0200 |
4 | Subject: [PATCH 64/64] beaglebone: always execute the pin free checks | 4 | Subject: [PATCH 64/79] beaglebone: always execute the pin free checks |
5 | 5 | ||
6 | This code needs to run when there are no capes and when there are capes present. | 6 | This code needs to run when there are no capes and when there are capes present. |
7 | 7 | ||
8 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 8 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
9 | --- | 9 | --- |
10 | arch/arm/mach-omap2/board-am335xevm.c | 26 +++++++++++++------------- | 10 | arch/arm/mach-omap2/board-am335xevm.c | 26 +++++++++++++------------- |
11 | 1 files changed, 13 insertions(+), 13 deletions(-) | 11 | 1 file changed, 13 insertions(+), 13 deletions(-) |
12 | 12 | ||
13 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 13 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
14 | index 1f2d1fd..da6020b 100644 | 14 | index 1f2d1fd..da6020b 100644 |
@@ -64,5 +64,5 @@ index 1f2d1fd..da6020b 100644 | |||
64 | 64 | ||
65 | static struct at24_platform_data cape_eeprom_info = { | 65 | static struct at24_platform_data cape_eeprom_info = { |
66 | -- | 66 | -- |
67 | 1.7.7.6 | 67 | 1.7.10 |
68 | 68 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0065-ti_tscadc-switch-to-16x-averaging.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0065-ti_tscadc-switch-to-16x-averaging.patch index ae5a4f99..5bdf1617 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0065-ti_tscadc-switch-to-16x-averaging.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0065-ti_tscadc-switch-to-16x-averaging.patch | |||
@@ -1,12 +1,12 @@ | |||
1 | From 979f76376236287b2e4d4b4505ed34b1f9c9d389 Mon Sep 17 00:00:00 2001 | 1 | From bd18b67644c8107920db6911aa16be680af23cf1 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Mon, 28 May 2012 09:56:45 +0200 | 3 | Date: Mon, 28 May 2012 09:56:45 +0200 |
4 | Subject: [PATCH 65/68] ti_tscadc: switch to 16x averaging | 4 | Subject: [PATCH 65/79] ti_tscadc: switch to 16x averaging |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | drivers/input/touchscreen/ti_tscadc.c | 8 ++++---- | 8 | drivers/input/touchscreen/ti_tscadc.c | 8 ++++---- |
9 | 1 files changed, 4 insertions(+), 4 deletions(-) | 9 | 1 file changed, 4 insertions(+), 4 deletions(-) |
10 | 10 | ||
11 | diff --git a/drivers/input/touchscreen/ti_tscadc.c b/drivers/input/touchscreen/ti_tscadc.c | 11 | diff --git a/drivers/input/touchscreen/ti_tscadc.c b/drivers/input/touchscreen/ti_tscadc.c |
12 | index 7df7bb2..ae6c4c4 100644 | 12 | index 7df7bb2..ae6c4c4 100644 |
@@ -49,5 +49,5 @@ index 7df7bb2..ae6c4c4 100644 | |||
49 | TSCADC_STEPCONFIG_YPN | TSCADC_STEPCONFIG_INM; | 49 | TSCADC_STEPCONFIG_YPN | TSCADC_STEPCONFIG_INM; |
50 | stepconfigz2 = stepconfigz1 | TSCADC_STEPCONFIG_Z1 | | 50 | stepconfigz2 = stepconfigz1 | TSCADC_STEPCONFIG_Z1 | |
51 | -- | 51 | -- |
52 | 1.7.7.6 | 52 | 1.7.10 |
53 | 53 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0067-video-da8xx-fb-Add-Newhaven-LCD-Panel-details.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0066-video-da8xx-fb-Add-Newhaven-LCD-Panel-details.patch index 27431b8a..ed494ec1 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0067-video-da8xx-fb-Add-Newhaven-LCD-Panel-details.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0066-video-da8xx-fb-Add-Newhaven-LCD-Panel-details.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 3f166417b837d6fb44e1003a2286876cb5c682b4 Mon Sep 17 00:00:00 2001 | 1 | From b3830f85231a530a9a83a5f8f6ff893aa0be2d60 Mon Sep 17 00:00:00 2001 |
2 | From: "Patil, Rachna" <rachna@ti.com> | 2 | From: "Patil, Rachna" <rachna@ti.com> |
3 | Date: Thu, 26 Apr 2012 15:20:20 +0530 | 3 | Date: Thu, 26 Apr 2012 15:20:20 +0530 |
4 | Subject: [PATCH 67/68] video: da8xx-fb: Add Newhaven LCD Panel details | 4 | Subject: [PATCH 66/79] video: da8xx-fb: Add Newhaven LCD Panel details |
5 | 5 | ||
6 | This patch adds details for Newhaven display Panel. | 6 | This patch adds details for Newhaven display Panel. |
7 | This panel is used on AM335x EVM-SK An upcoming TI EVM. | 7 | This panel is used on AM335x EVM-SK An upcoming TI EVM. |
@@ -13,7 +13,7 @@ Conflicts: | |||
13 | drivers/video/da8xx-fb.c | 13 | drivers/video/da8xx-fb.c |
14 | --- | 14 | --- |
15 | drivers/video/da8xx-fb.c | 14 ++++++++++++++ | 15 | drivers/video/da8xx-fb.c | 14 ++++++++++++++ |
16 | 1 files changed, 14 insertions(+), 0 deletions(-) | 16 | 1 file changed, 14 insertions(+) |
17 | 17 | ||
18 | diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c | 18 | diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c |
19 | index 9aaca5d..010a8bc 100644 | 19 | index 9aaca5d..010a8bc 100644 |
@@ -41,5 +41,5 @@ index 9aaca5d..010a8bc 100644 | |||
41 | 41 | ||
42 | /* Enable the Raster Engine of the LCD Controller */ | 42 | /* Enable the Raster Engine of the LCD Controller */ |
43 | -- | 43 | -- |
44 | 1.7.7.6 | 44 | 1.7.10 |
45 | 45 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0068-beaglebone-add-support-for-the-4.3-lcd-cape-with-res.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0067-beaglebone-add-support-for-the-4.3-lcd-cape-with-res.patch index 6d2ab2a3..cf39615d 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0068-beaglebone-add-support-for-the-4.3-lcd-cape-with-res.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0067-beaglebone-add-support-for-the-4.3-lcd-cape-with-res.patch | |||
@@ -1,16 +1,16 @@ | |||
1 | From 6b69dbc7cee48dfa9ff281ae918cc468ed38a537 Mon Sep 17 00:00:00 2001 | 1 | From 8652d1a5b1a191a460de6b7214168dc77b6ceeb1 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Tue, 29 May 2012 14:12:44 +0200 | 3 | Date: Tue, 29 May 2012 14:12:44 +0200 |
4 | Subject: [PATCH 68/68] beaglebone: add support for the 4.3" lcd cape with | 4 | Subject: [PATCH 67/79] beaglebone: add support for the 4.3" lcd cape with |
5 | resistive touchscreen | 5 | resistive touchscreen |
6 | 6 | ||
7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
8 | --- | 8 | --- |
9 | arch/arm/mach-omap2/board-am335xevm.c | 48 +++++++++++++++++++++++++++----- | 9 | arch/arm/mach-omap2/board-am335xevm.c | 48 +++++++++++++++++++++++++++------ |
10 | 1 files changed, 40 insertions(+), 8 deletions(-) | 10 | 1 file changed, 40 insertions(+), 8 deletions(-) |
11 | 11 | ||
12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
13 | index 58c2754..bb6049a 100644 | 13 | index da6020b..e360b22 100644 |
14 | --- a/arch/arm/mach-omap2/board-am335xevm.c | 14 | --- a/arch/arm/mach-omap2/board-am335xevm.c |
15 | +++ b/arch/arm/mach-omap2/board-am335xevm.c | 15 | +++ b/arch/arm/mach-omap2/board-am335xevm.c |
16 | @@ -272,6 +272,12 @@ struct da8xx_lcdc_platform_data bbtoys35_pdata = { | 16 | @@ -272,6 +272,12 @@ struct da8xx_lcdc_platform_data bbtoys35_pdata = { |
@@ -90,5 +90,5 @@ index 58c2754..bb6049a 100644 | |||
90 | if (!strncmp("BB-BONE-VGA-01", cape_config.partnumber, 14)) { | 90 | if (!strncmp("BB-BONE-VGA-01", cape_config.partnumber, 14)) { |
91 | pr_info("BeagleBone cape: initializing VGA cape\n"); | 91 | pr_info("BeagleBone cape: initializing VGA cape\n"); |
92 | -- | 92 | -- |
93 | 1.7.7.6 | 93 | 1.7.10 |
94 | 94 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0069-beaglebone-add-support-for-LCD3-rev-A1.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0068-beaglebone-add-support-for-LCD3-rev-A1.patch index d9bc2b56..1f22cd79 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0069-beaglebone-add-support-for-LCD3-rev-A1.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0068-beaglebone-add-support-for-LCD3-rev-A1.patch | |||
@@ -1,15 +1,15 @@ | |||
1 | From b61b89f98ac85ccd8d503a902bad208343ed0aba Mon Sep 17 00:00:00 2001 | 1 | From 590a240f4bb7c6eeda5d11c9040821a71edefc53 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Mon, 4 Jun 2012 14:38:02 +0200 | 3 | Date: Mon, 4 Jun 2012 14:38:02 +0200 |
4 | Subject: [PATCH] beaglebone: add support for LCD3 rev A1 | 4 | Subject: [PATCH 68/79] beaglebone: add support for LCD3 rev A1 |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 94 +++++++++++++++++++++++++++++---- | 8 | arch/arm/mach-omap2/board-am335xevm.c | 94 +++++++++++++++++++++++++++++---- |
9 | 1 files changed, 83 insertions(+), 11 deletions(-) | 9 | 1 file changed, 83 insertions(+), 11 deletions(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index bb6049a..51bfa8b 100644 | 12 | index e360b22..d83431a 100644 |
13 | --- a/arch/arm/mach-omap2/board-am335xevm.c | 13 | --- a/arch/arm/mach-omap2/board-am335xevm.c |
14 | +++ b/arch/arm/mach-omap2/board-am335xevm.c | 14 | +++ b/arch/arm/mach-omap2/board-am335xevm.c |
15 | @@ -1136,7 +1136,7 @@ static struct pinmux_config lcd3_keys_pin_mux[] = { | 15 | @@ -1136,7 +1136,7 @@ static struct pinmux_config lcd3_keys_pin_mux[] = { |
@@ -128,5 +128,5 @@ index bb6049a..51bfa8b 100644 | |||
128 | lcd3leds_init(0,0); | 128 | lcd3leds_init(0,0); |
129 | } | 129 | } |
130 | -- | 130 | -- |
131 | 1.7.7.6 | 131 | 1.7.10 |
132 | 132 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0070-beaglebone-fix-buttons-spidev-clash-when-using-mcasp.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0069-beaglebone-fix-buttons-spidev-clash-when-using-mcasp.patch index ae277fa1..08330a04 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0070-beaglebone-fix-buttons-spidev-clash-when-using-mcasp.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0069-beaglebone-fix-buttons-spidev-clash-when-using-mcasp.patch | |||
@@ -1,16 +1,16 @@ | |||
1 | From d99bad03ee2f3cc3d9a61879e53e4795a05eaed3 Mon Sep 17 00:00:00 2001 | 1 | From dbe62e3346ee4423a2d3c83e6390ef39c2a0a0bf Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Wed, 6 Jun 2012 11:20:21 +0200 | 3 | Date: Wed, 6 Jun 2012 11:20:21 +0200 |
4 | Subject: [PATCH 70/70] beaglebone: fix buttons/spidev clash when using | 4 | Subject: [PATCH 69/79] beaglebone: fix buttons/spidev clash when using |
5 | mcasp0_axr0.gpio3_16 | 5 | mcasp0_axr0.gpio3_16 |
6 | 6 | ||
7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
8 | --- | 8 | --- |
9 | arch/arm/mach-omap2/board-am335xevm.c | 13 +++++++------ | 9 | arch/arm/mach-omap2/board-am335xevm.c | 13 +++++++------ |
10 | 1 files changed, 7 insertions(+), 6 deletions(-) | 10 | 1 file changed, 7 insertions(+), 6 deletions(-) |
11 | 11 | ||
12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
13 | index 51bfa8b..7fd611f 100644 | 13 | index d83431a..15ee8af 100644 |
14 | --- a/arch/arm/mach-omap2/board-am335xevm.c | 14 | --- a/arch/arm/mach-omap2/board-am335xevm.c |
15 | +++ b/arch/arm/mach-omap2/board-am335xevm.c | 15 | +++ b/arch/arm/mach-omap2/board-am335xevm.c |
16 | @@ -1051,12 +1051,11 @@ static void volume_keys_init(int evm_id, int profile) | 16 | @@ -1051,12 +1051,11 @@ static void volume_keys_init(int evm_id, int profile) |
@@ -48,5 +48,5 @@ index 51bfa8b..7fd611f 100644 | |||
48 | lcd3leds_init(0,0); | 48 | lcd3leds_init(0,0); |
49 | } | 49 | } |
50 | -- | 50 | -- |
51 | 1.7.7.6 | 51 | 1.7.10 |
52 | 52 | ||
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0071-beaglebone-fix-LCD3-led-key-overlap.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0070-beaglebone-fix-LCD3-led-key-overlap.patch index 7d796a7c..942ab611 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0071-beaglebone-fix-LCD3-led-key-overlap.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0070-beaglebone-fix-LCD3-led-key-overlap.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From fa18ca5c896696066349e2803dfeeda1fcd4a4e3 Mon Sep 17 00:00:00 2001 | 1 | From 2a148ebd4606ed6a5d24287aa7e5701de3259057 Mon Sep 17 00:00:00 2001 |
2 | From: Damian <damian.eppel@teleca.com> | 2 | From: Damian <damian.eppel@teleca.com> |
3 | Date: Tue, 5 Jun 2012 23:14:58 +0200 | 3 | Date: Tue, 5 Jun 2012 23:14:58 +0200 |
4 | Subject: [PATCH 1/2] beaglebone: fix LCD3 led/key overlap | 4 | Subject: [PATCH 70/79] beaglebone: fix LCD3 led/key overlap |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@circuitco.com> | 6 | Signed-off-by: Koen Kooi <koen@circuitco.com> |
7 | --- | 7 | --- |
@@ -9,7 +9,7 @@ Signed-off-by: Koen Kooi <koen@circuitco.com> | |||
9 | 1 file changed, 1 insertion(+), 8 deletions(-) | 9 | 1 file changed, 1 insertion(+), 8 deletions(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index 7fd611f..a337bb3 100644 | 12 | index 15ee8af..9a56a769 100644 |
13 | --- a/arch/arm/mach-omap2/board-am335xevm.c | 13 | --- a/arch/arm/mach-omap2/board-am335xevm.c |
14 | +++ b/arch/arm/mach-omap2/board-am335xevm.c | 14 | +++ b/arch/arm/mach-omap2/board-am335xevm.c |
15 | @@ -639,7 +639,6 @@ static struct pinmux_config dvia2_pin_mux[] = { | 15 | @@ -639,7 +639,6 @@ static struct pinmux_config dvia2_pin_mux[] = { |
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0072-beaglebone-fix-audio-spi-clash.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0071-beaglebone-fix-audio-spi-clash.patch index a916ad5a..02bf4950 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0072-beaglebone-fix-audio-spi-clash.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0071-beaglebone-fix-audio-spi-clash.patch | |||
@@ -1,18 +1,18 @@ | |||
1 | From 45ddec832968e3c1e31cf38a891372ba80027e2d Mon Sep 17 00:00:00 2001 | 1 | From 1ec20c05453acf20b9d5d385ac9574e9ab64347d Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Tue, 26 Jun 2012 08:39:04 +0200 | 3 | Date: Tue, 26 Jun 2012 08:39:04 +0200 |
4 | Subject: [PATCH] beaglebone: fix audio/spi clash | 4 | Subject: [PATCH 71/79] beaglebone: fix audio/spi clash |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
8 | arch/arm/mach-omap2/board-am335xevm.c | 3 ++- | 8 | arch/arm/mach-omap2/board-am335xevm.c | 1 + |
9 | 1 file changed, 2 insertions(+), 1 deletion(-) | 9 | 1 file changed, 1 insertion(+) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index f6559b6..d0681a2 100644 | 12 | index 9a56a769..d2481af 100644 |
13 | --- a/arch/arm/mach-omap2/board-am335xevm.c | 13 | --- a/arch/arm/mach-omap2/board-am335xevm.c |
14 | +++ b/arch/arm/mach-omap2/board-am335xevm.c | 14 | +++ b/arch/arm/mach-omap2/board-am335xevm.c |
15 | @@ -2910,6 +2910,7 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context | 15 | @@ -2691,6 +2691,7 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context |
16 | 16 | ||
17 | beaglebone_leds_free = 0; | 17 | beaglebone_leds_free = 0; |
18 | dvileds_init(0,0); | 18 | dvileds_init(0,0); |
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0073-beaglebone-add-support-for-QuickLogic-Camera-interfa.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0072-beaglebone-add-support-for-QuickLogic-Camera-interfa.patch index 48ac34b9..724c3dda 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0073-beaglebone-add-support-for-QuickLogic-Camera-interfa.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0072-beaglebone-add-support-for-QuickLogic-Camera-interfa.patch | |||
@@ -1,8 +1,8 @@ | |||
1 | From cf35e6b861c3c7d4d9c9db1557ba27b5578e8aa2 Mon Sep 17 00:00:00 2001 | 1 | From e3a4f83627a111ae21ea8c6521ad98201f55eacc Mon Sep 17 00:00:00 2001 |
2 | From: Dan Aizenstros <daizenstros@quicklogic.com> | 2 | From: Dan Aizenstros <daizenstros@quicklogic.com> |
3 | Date: Fri, 29 Jun 2012 13:57:49 -0400 | 3 | Date: Fri, 29 Jun 2012 13:57:49 -0400 |
4 | Subject: [PATCH] beaglebone: add support for QuickLogic Camera interface on | 4 | Subject: [PATCH 72/79] beaglebone: add support for QuickLogic Camera |
5 | camera cape | 5 | interface on camera cape |
6 | 6 | ||
7 | Signed-off-by: Dan Aizenstros <daizenstros@quicklogic.com> | 7 | Signed-off-by: Dan Aizenstros <daizenstros@quicklogic.com> |
8 | --- | 8 | --- |
@@ -20,10 +20,10 @@ Signed-off-by: Dan Aizenstros <daizenstros@quicklogic.com> | |||
20 | create mode 100644 drivers/media/video/cssp_camera/cssp_camera.h | 20 | create mode 100644 drivers/media/video/cssp_camera/cssp_camera.h |
21 | 21 | ||
22 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 22 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
23 | index dc78b4a..1680612 100644 | 23 | index d2481af..22a740f 100644 |
24 | --- a/arch/arm/mach-omap2/board-am335xevm.c | 24 | --- a/arch/arm/mach-omap2/board-am335xevm.c |
25 | +++ b/arch/arm/mach-omap2/board-am335xevm.c | 25 | +++ b/arch/arm/mach-omap2/board-am335xevm.c |
26 | @@ -66,6 +66,10 @@ | 26 | @@ -65,6 +65,10 @@ |
27 | #include <plat/mmc.h> | 27 | #include <plat/mmc.h> |
28 | #include <plat/emif.h> | 28 | #include <plat/emif.h> |
29 | #include <plat/nand.h> | 29 | #include <plat/nand.h> |
@@ -34,7 +34,7 @@ index dc78b4a..1680612 100644 | |||
34 | 34 | ||
35 | #include "board-flash.h" | 35 | #include "board-flash.h" |
36 | #include "cpuidle33xx.h" | 36 | #include "cpuidle33xx.h" |
37 | @@ -804,6 +808,42 @@ static struct pinmux_config i2c1_pin_mux[] = { | 37 | @@ -803,6 +807,42 @@ static struct pinmux_config i2c1_pin_mux[] = { |
38 | {NULL, 0}, | 38 | {NULL, 0}, |
39 | }; | 39 | }; |
40 | 40 | ||
@@ -77,7 +77,7 @@ index dc78b4a..1680612 100644 | |||
77 | static struct pinmux_config i2c2_pin_mux[] = { | 77 | static struct pinmux_config i2c2_pin_mux[] = { |
78 | {"uart1_ctsn.i2c2_sda", OMAP_MUX_MODE3 | AM33XX_SLEWCTRL_SLOW | | 78 | {"uart1_ctsn.i2c2_sda", OMAP_MUX_MODE3 | AM33XX_SLEWCTRL_SLOW | |
79 | AM33XX_PIN_INPUT_PULLUP}, | 79 | AM33XX_PIN_INPUT_PULLUP}, |
80 | @@ -1803,6 +1843,156 @@ static void dvileds_init(int evm_id, int profile ) | 80 | @@ -1802,6 +1842,156 @@ static void dvileds_init(int evm_id, int profile ) |
81 | pr_err("failed to register BeagleBone DVI cape LEDS\n"); | 81 | pr_err("failed to register BeagleBone DVI cape LEDS\n"); |
82 | } | 82 | } |
83 | 83 | ||
@@ -234,7 +234,7 @@ index dc78b4a..1680612 100644 | |||
234 | static void lcd3leds_init(int evm_id, int profile ) | 234 | static void lcd3leds_init(int evm_id, int profile ) |
235 | { | 235 | { |
236 | int err; | 236 | int err; |
237 | @@ -2851,6 +3041,7 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context | 237 | @@ -2821,6 +3011,7 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context |
238 | if (!strncmp("BB-BONE-CAM-01", cape_config.partnumber, 14)) { | 238 | if (!strncmp("BB-BONE-CAM-01", cape_config.partnumber, 14)) { |
239 | pr_info("BeagleBone cape: recognized Camera cape\n"); | 239 | pr_info("BeagleBone cape: recognized Camera cape\n"); |
240 | beaglebone_w1gpio_free = 0; | 240 | beaglebone_w1gpio_free = 0; |
@@ -242,7 +242,7 @@ index dc78b4a..1680612 100644 | |||
242 | } | 242 | } |
243 | 243 | ||
244 | goto out2; | 244 | goto out2; |
245 | @@ -3762,15 +3953,13 @@ static struct pinmux_config clkout2_pin_mux[] = { | 245 | @@ -3729,15 +3920,13 @@ static struct pinmux_config clkout2_pin_mux[] = { |
246 | 246 | ||
247 | static void __init clkout2_enable(void) | 247 | static void __init clkout2_enable(void) |
248 | { | 248 | { |
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0074-beaglebone-add-support-for-DVI-audio-and-audio-only-.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0073-beaglebone-add-support-for-DVI-audio-and-audio-only-.patch index 60d5be0f..051a727b 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0074-beaglebone-add-support-for-DVI-audio-and-audio-only-.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0073-beaglebone-add-support-for-DVI-audio-and-audio-only-.patch | |||
@@ -1,7 +1,8 @@ | |||
1 | From d87e8e9379764451de06b3f6d13d19424836f64c Mon Sep 17 00:00:00 2001 | 1 | From 040c37e89e6a7a7311a470bda281e1163559173c Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Tue, 3 Jul 2012 08:45:47 +0200 | 3 | Date: Tue, 3 Jul 2012 08:45:47 +0200 |
4 | Subject: [PATCH] beaglebone: add support for DVI+audio and audio-only capes | 4 | Subject: [PATCH 73/79] beaglebone: add support for DVI+audio and audio-only |
5 | capes | ||
5 | 6 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 8 | --- |
@@ -9,10 +10,10 @@ Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | |||
9 | 1 file changed, 30 insertions(+), 2 deletions(-) | 10 | 1 file changed, 30 insertions(+), 2 deletions(-) |
10 | 11 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index 1680612..4b3f7d2 100644 | 13 | index 22a740f..bf40ac9 100644 |
13 | --- a/arch/arm/mach-omap2/board-am335xevm.c | 14 | --- a/arch/arm/mach-omap2/board-am335xevm.c |
14 | +++ b/arch/arm/mach-omap2/board-am335xevm.c | 15 | +++ b/arch/arm/mach-omap2/board-am335xevm.c |
15 | @@ -2906,8 +2906,10 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context | 16 | @@ -2881,8 +2881,10 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context |
16 | 17 | ||
17 | beaglebone_leds_free = 0; | 18 | beaglebone_leds_free = 0; |
18 | dvileds_init(0,0); | 19 | dvileds_init(0,0); |
@@ -25,7 +26,7 @@ index 1680612..4b3f7d2 100644 | |||
25 | 26 | ||
26 | if (!strncmp("00A1", cape_config.version, 4) || !strncmp("000A", cape_config.version, 4)) { | 27 | if (!strncmp("00A1", cape_config.version, 4) || !strncmp("000A", cape_config.version, 4)) { |
27 | pr_info("BeagleBone cape: DVI init for revision A1 or older\n"); | 28 | pr_info("BeagleBone cape: DVI init for revision A1 or older\n"); |
28 | @@ -2923,6 +2925,32 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context | 29 | @@ -2898,6 +2900,32 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context |
29 | dvi_init(0,0); | 30 | dvi_init(0,0); |
30 | } | 31 | } |
31 | } | 32 | } |
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0075-beaglebone-disable-LBO-GPIO-for-battery-cape.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0074-beaglebone-disable-LBO-GPIO-for-battery-cape.patch index 641db757..02485c34 100644 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0075-beaglebone-disable-LBO-GPIO-for-battery-cape.patch +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0074-beaglebone-disable-LBO-GPIO-for-battery-cape.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 9332627ac6b70511742208d6fa7c7042c203f852 Mon Sep 17 00:00:00 2001 | 1 | From f723bdf574163ced9a685783a475b254f6a981d5 Mon Sep 17 00:00:00 2001 |
2 | From: Koen Kooi <koen@dominion.thruhere.net> | 2 | From: Koen Kooi <koen@dominion.thruhere.net> |
3 | Date: Tue, 3 Jul 2012 21:28:44 +0200 | 3 | Date: Tue, 3 Jul 2012 21:28:44 +0200 |
4 | Subject: [PATCH 75/75] beaglebone: disable LBO GPIO for battery cape | 4 | Subject: [PATCH 74/79] beaglebone: disable LBO GPIO for battery cape |
5 | 5 | ||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | 6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> |
7 | --- | 7 | --- |
@@ -9,7 +9,7 @@ Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | |||
9 | 1 file changed, 3 insertions(+), 1 deletion(-) | 9 | 1 file changed, 3 insertions(+), 1 deletion(-) |
10 | 10 | ||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | 11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c |
12 | index af75c88..7d6ac77 100644 | 12 | index bf40ac9..6b4539e 100644 |
13 | --- a/arch/arm/mach-omap2/board-am335xevm.c | 13 | --- a/arch/arm/mach-omap2/board-am335xevm.c |
14 | +++ b/arch/arm/mach-omap2/board-am335xevm.c | 14 | +++ b/arch/arm/mach-omap2/board-am335xevm.c |
15 | @@ -2999,7 +2999,8 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context | 15 | @@ -2999,7 +2999,8 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context |
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0080-vfs-Add-a-trace-point-in-the-mark_inode_dirty-functi.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0080-vfs-Add-a-trace-point-in-the-mark_inode_dirty-functi.patch new file mode 100644 index 00000000..f45178c2 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0080-vfs-Add-a-trace-point-in-the-mark_inode_dirty-functi.patch | |||
@@ -0,0 +1,103 @@ | |||
1 | From a0a3563affbbebd9c7385586e1d6031de82c2a83 Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan at linux.intel.com> | ||
3 | Date: Fri, 26 Nov 2010 12:18:03 -0800 | ||
4 | Subject: [PATCH] vfs: Add a trace point in the mark_inode_dirty function | ||
5 | |||
6 | PowerTOP would like to be able to show who is keeping the disk | ||
7 | busy by dirtying data. The most logical spot for this is in the vfs | ||
8 | in the mark_inode_dirty() function, doing this on the block level | ||
9 | is not possible because by the time the IO hits the block layer the | ||
10 | guilty party can no longer be found ("kjournald" and "pdflush" are not | ||
11 | useful answers to "who caused this file to be dirty). | ||
12 | |||
13 | The trace point follows the same logic/style as the block_dump code | ||
14 | and pretty much dumps the same data, just not to dmesg (and thus to | ||
15 | /var/log/messages) but via the trace events streams. | ||
16 | |||
17 | Eventually we should be able to phase out the block dump code, but that's | ||
18 | for later on after a transition time. | ||
19 | --- | ||
20 | fs/fs-writeback.c | 3 +++ | ||
21 | include/linux/fs.h | 12 ++++++++++++ | ||
22 | include/trace/events/writeback.h | 28 ++++++++++++++++++++++++++++ | ||
23 | 3 files changed, 43 insertions(+) | ||
24 | |||
25 | diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c | ||
26 | index 54f5786..981ec8c 100644 | ||
27 | --- a/fs/fs-writeback.c | ||
28 | +++ b/fs/fs-writeback.c | ||
29 | @@ -1072,6 +1072,9 @@ void __mark_inode_dirty(struct inode *inode, int flags) | ||
30 | if ((inode->i_state & flags) == flags) | ||
31 | return; | ||
32 | |||
33 | + if (flags & (I_DIRTY_SYNC | I_DIRTY_DATASYNC | I_DIRTY_PAGES)) | ||
34 | + trace_writeback_inode_dirty(inode, flags); | ||
35 | + | ||
36 | if (unlikely(block_dump)) | ||
37 | block_dump___mark_inode_dirty(inode); | ||
38 | |||
39 | diff --git a/include/linux/fs.h b/include/linux/fs.h | ||
40 | index 43d36b7..a3e46ee 100644 | ||
41 | --- a/include/linux/fs.h | ||
42 | +++ b/include/linux/fs.h | ||
43 | @@ -1759,6 +1759,18 @@ struct super_operations { | ||
44 | |||
45 | #define I_DIRTY (I_DIRTY_SYNC | I_DIRTY_DATASYNC | I_DIRTY_PAGES) | ||
46 | |||
47 | +#define INODE_DIRTY_FLAGS \ | ||
48 | + { I_DIRTY_SYNC, "DIRTY-SYNC" }, \ | ||
49 | + { I_DIRTY_DATASYNC, "DIRTY-DATASYNC" }, \ | ||
50 | + { I_DIRTY_PAGES, "DIRTY-PAGES" }, \ | ||
51 | + { I_NEW, "NEW" }, \ | ||
52 | + { I_WILL_FREE, "WILL-FREE" }, \ | ||
53 | + { I_FREEING, "FREEING" }, \ | ||
54 | + { I_CLEAR, "CLEAR" }, \ | ||
55 | + { I_SYNC, "SYNC" }, \ | ||
56 | + { I_REFERENCED, "REFERENCED" } | ||
57 | + | ||
58 | + | ||
59 | extern void __mark_inode_dirty(struct inode *, int); | ||
60 | static inline void mark_inode_dirty(struct inode *inode) | ||
61 | { | ||
62 | diff --git a/include/trace/events/writeback.h b/include/trace/events/writeback.h | ||
63 | index 1f48f14..8053e75 100644 | ||
64 | --- a/include/trace/events/writeback.h | ||
65 | +++ b/include/trace/events/writeback.h | ||
66 | @@ -400,6 +400,34 @@ DEFINE_EVENT(writeback_congest_waited_template, writeback_wait_iff_congested, | ||
67 | TP_ARGS(usec_timeout, usec_delayed) | ||
68 | ); | ||
69 | |||
70 | +/* | ||
71 | + * Tracepoint for dirtying an inode; used by PowerTOP | ||
72 | + */ | ||
73 | +TRACE_EVENT(writeback_inode_dirty, | ||
74 | + | ||
75 | + TP_PROTO(struct inode *inode, int flags), | ||
76 | + | ||
77 | + TP_ARGS(inode, flags), | ||
78 | + | ||
79 | + TP_STRUCT__entry( | ||
80 | + __field( __kernel_dev_t, dev ) | ||
81 | + __field( ino_t, ino ) | ||
82 | + __field( u32, flags ) | ||
83 | + ), | ||
84 | + | ||
85 | + TP_fast_assign( | ||
86 | + __entry->dev = inode->i_sb->s_dev; | ||
87 | + __entry->ino = inode->i_ino; | ||
88 | + __entry->flags = flags; | ||
89 | + ), | ||
90 | + | ||
91 | + TP_printk("dev %d:%d ino %lu flags %d %s", MAJOR(__entry->dev), MINOR(__entry->dev), | ||
92 | + (unsigned long) __entry->ino, | ||
93 | + __entry->flags, | ||
94 | + __print_flags(__entry->flags, "|", INODE_DIRTY_FLAGS) | ||
95 | + ) | ||
96 | +); | ||
97 | + | ||
98 | DECLARE_EVENT_CLASS(writeback_single_inode_template, | ||
99 | |||
100 | TP_PROTO(struct inode *inode, | ||
101 | -- | ||
102 | 1.7.10 | ||
103 | |||
diff --git a/recipes-kernel/linux/linux-ti33x-psp_3.2.bb b/recipes-kernel/linux/linux-ti33x-psp_3.2.bb index eab31272..c137e13a 100644 --- a/recipes-kernel/linux/linux-ti33x-psp_3.2.bb +++ b/recipes-kernel/linux/linux-ti33x-psp_3.2.bb | |||
@@ -11,7 +11,7 @@ S = "${WORKDIR}/git" | |||
11 | MULTI_CONFIG_BASE_SUFFIX = "" | 11 | MULTI_CONFIG_BASE_SUFFIX = "" |
12 | 12 | ||
13 | # the PATCHES_OVER_PSP updates it to 3.2.x, so adjust PV to match | 13 | # the PATCHES_OVER_PSP updates it to 3.2.x, so adjust PV to match |
14 | PV = "${@base_contains('DISTRO_FEATURES', 'tipspkernel', "3.2", "3.2.21", d)}" | 14 | PV = "${@base_contains('DISTRO_FEATURES', 'tipspkernel', "3.2", "3.2.23", d)}" |
15 | 15 | ||
16 | BRANCH = "v3.2-staging" | 16 | BRANCH = "v3.2-staging" |
17 | SRCREV = "720e07b4c1f687b61b147b31c698cb6816d72f01" | 17 | SRCREV = "720e07b4c1f687b61b147b31c698cb6816d72f01" |
@@ -1445,6 +1445,101 @@ PATCHES_OVER_PSP = " \ | |||
1445 | file://3.2.21/0065-swap-fix-shmem-swapping-when-more-than-8-areas.patch \ | 1445 | file://3.2.21/0065-swap-fix-shmem-swapping-when-more-than-8-areas.patch \ |
1446 | file://3.2.21/0066-drm-radeon-add-some-additional-6xx-7xx-EG-register-i.patch \ | 1446 | file://3.2.21/0066-drm-radeon-add-some-additional-6xx-7xx-EG-register-i.patch \ |
1447 | file://3.2.21/0067-Linux-3.2.21.patch \ | 1447 | file://3.2.21/0067-Linux-3.2.21.patch \ |
1448 | file://3.2.22/0001-staging-iio-ad7606-Re-add-missing-scale-attribute.patch \ | ||
1449 | file://3.2.22/0002-Tools-hv-verify-origin-of-netlink-connector-message.patch \ | ||
1450 | file://3.2.22/0003-edac-avoid-mce-decoding-crash-after-edac-driver-unlo.patch \ | ||
1451 | file://3.2.22/0004-hwrng-atmel-rng-fix-data-valid-check.patch \ | ||
1452 | file://3.2.22/0005-staging-r8712u-Add-new-USB-IDs.patch \ | ||
1453 | file://3.2.22/0006-hwmon-applesmc-Limit-key-length-in-warning-messages.patch \ | ||
1454 | file://3.2.22/0007-mm-pmd_read_atomic-fix-32bit-PAE-pmd-walk-vs-pmd_pop.patch \ | ||
1455 | file://3.2.22/0008-thp-avoid-atomic64_read-in-pmd_read_atomic-for-32bit.patch \ | ||
1456 | file://3.2.22/0009-nilfs2-ensure-proper-cache-clearing-for-gc-inodes.patch \ | ||
1457 | file://3.2.22/0010-drm-i915-Finish-any-pending-operations-on-the-frameb.patch \ | ||
1458 | file://3.2.22/0011-drm-i915-Remove-use-of-the-autoreported-ringbuffer-H.patch \ | ||
1459 | file://3.2.22/0012-e1000e-Disable-ASPM-L1-on-82574.patch \ | ||
1460 | file://3.2.22/0013-e1000e-Remove-special-case-for-82573-82574-ASPM-L1-d.patch \ | ||
1461 | file://3.2.22/0014-drm-i915-Do-the-fallback-non-IRQ-wait-in-ring-thrott.patch \ | ||
1462 | file://3.2.22/0015-staging-rts_pstor-Fix-possible-panic-by-NULL-pointer.patch \ | ||
1463 | file://3.2.22/0016-gspca-core-Fix-buffers-staying-in-queued-state-after.patch \ | ||
1464 | file://3.2.22/0017-smsusb-add-autodetection-support-for-USB-ID-2040-f5a.patch \ | ||
1465 | file://3.2.22/0018-drm-edid-don-t-return-stack-garbage-from-supports_rb.patch \ | ||
1466 | file://3.2.22/0019-drm-nouveau-fbcon-using-nv_two_heads-is-not-a-good-i.patch \ | ||
1467 | file://3.2.22/0020-dm-thin-reinstate-missing-mempool_free-in-cell_relea.patch \ | ||
1468 | file://3.2.22/0021-ath9k-Fix-a-WARNING-on-suspend-resume-with-IBSS.patch \ | ||
1469 | file://3.2.22/0022-cfg80211-fix-potential-deadlock-in-regulatory.patch \ | ||
1470 | file://3.2.22/0023-ath9k-Fix-softlockup-in-AR9485.patch \ | ||
1471 | file://3.2.22/0024-can-c_can-precedence-error-in-c_can_chip_config.patch \ | ||
1472 | file://3.2.22/0025-ath9k-fix-a-tx-rate-duration-calculation-bug.patch \ | ||
1473 | file://3.2.22/0026-batman-adv-fix-skb-data-assignment.patch \ | ||
1474 | file://3.2.22/0027-ARM-SAMSUNG-Should-check-for-IS_ERR-clk-instead-of-N.patch \ | ||
1475 | file://3.2.22/0028-ath9k_hw-avoid-possible-infinite-loop-in-ar9003_get_.patch \ | ||
1476 | file://3.2.22/0029-iwlwifi-remove-log_event-debugfs-file-debugging-is-d.patch \ | ||
1477 | file://3.2.22/0030-ARM-SAMSUNG-Fix-for-S3C2412-EBI-memory-mapping.patch \ | ||
1478 | file://3.2.22/0031-USB-option-add-id-for-Cellient-MEN-200.patch \ | ||
1479 | file://3.2.22/0032-oprofile-perf-use-NR_CPUS-instead-or-nr_cpumask_bits.patch \ | ||
1480 | file://3.2.22/0033-drm-i915-Refactor-the-deferred-PM_IIR-handling-into-.patch \ | ||
1481 | file://3.2.22/0034-drm-i915-rip-out-the-PM_IIR-WARN.patch \ | ||
1482 | file://3.2.22/0035-drm-i915-Fix-eDP-blank-screen-after-S3-resume-on-HP-.patch \ | ||
1483 | file://3.2.22/0036-PM-Sleep-Prevent-waiting-forever-on-asynchronous-sus.patch \ | ||
1484 | file://3.2.22/0037-x86-cpufeature-Rename-X86_FEATURE_DTS-to-X86_FEATURE.patch \ | ||
1485 | file://3.2.22/0038-stable-Allow-merging-of-backports-for-serious-user-v.patch \ | ||
1486 | file://3.2.22/0039-ALSA-hda-Add-Realtek-ALC280-codec-support.patch \ | ||
1487 | file://3.2.22/0040-USB-option-Add-USB-ID-for-Novatel-Ovation-MC551.patch \ | ||
1488 | file://3.2.22/0041-USB-CP210x-Add-10-Device-IDs.patch \ | ||
1489 | file://3.2.22/0042-xen-netfront-teardown-the-device-before-unregisterin.patch \ | ||
1490 | file://3.2.22/0043-can-flexcan-use-be32_to_cpup-to-handle-the-value-of-.patch \ | ||
1491 | file://3.2.22/0044-acpi_pad-fix-power_saving-thread-deadlock.patch \ | ||
1492 | file://3.2.22/0045-batman-adv-only-drop-packets-of-known-wifi-clients.patch \ | ||
1493 | file://3.2.22/0046-Linux-3.2.22.patch \ | ||
1494 | file://3.2.23/0001-splice-fix-racy-pipe-buffers-uses.patch \ | ||
1495 | file://3.2.23/0002-umem-fix-up-unplugging.patch \ | ||
1496 | file://3.2.23/0003-mwifiex-fix-11n-rx-packet-drop-issue.patch \ | ||
1497 | file://3.2.23/0004-mwifiex-fix-WPS-eapol-handshake-failure.patch \ | ||
1498 | file://3.2.23/0005-NFC-Prevent-multiple-buffer-overflows-in-NCI.patch \ | ||
1499 | file://3.2.23/0006-ath9k-fix-dynamic-WEP-related-regression.patch \ | ||
1500 | file://3.2.23/0007-NFC-Return-from-rawsock_release-when-sk-is-NULL.patch \ | ||
1501 | file://3.2.23/0008-rtlwifi-rtl8192cu-New-USB-IDs.patch \ | ||
1502 | file://3.2.23/0009-ath9k-enable-serialize_regmode-for-non-PCIE-AR9287.patch \ | ||
1503 | file://3.2.23/0010-mac80211-correct-behaviour-on-unrecognised-action-fr.patch \ | ||
1504 | file://3.2.23/0011-ASoC-tlv320aic3x-Fix-codec-pll-configure-bug.patch \ | ||
1505 | file://3.2.23/0012-powerpc-xmon-Use-cpumask-iterator-to-avoid-warning.patch \ | ||
1506 | file://3.2.23/0013-powerpc-kvm-sldi-should-be-sld.patch \ | ||
1507 | file://3.2.23/0014-md-raid10-Don-t-try-to-recovery-unmatched-and-unused.patch \ | ||
1508 | file://3.2.23/0015-md-raid5-Do-not-add-data_offset-before-call-to-is_ba.patch \ | ||
1509 | file://3.2.23/0016-md-raid5-In-ops_run_io-inc-nr_pending-before-calling.patch \ | ||
1510 | file://3.2.23/0017-md-raid10-fix-failure-when-trying-to-repair-a-read-e.patch \ | ||
1511 | file://3.2.23/0018-drm-i915-kick-any-firmware-framebuffers-before-claim.patch \ | ||
1512 | file://3.2.23/0019-dm-persistent-data-fix-shadow_info_leak-on-dm_tm_des.patch \ | ||
1513 | file://3.2.23/0020-dm-persistent-data-handle-space-map-checker-creation.patch \ | ||
1514 | file://3.2.23/0021-dm-persistent-data-fix-allocation-failure-in-space-m.patch \ | ||
1515 | file://3.2.23/0022-ALSA-hda-Fix-power-map-regression-for-HP-dv6-co.patch \ | ||
1516 | file://3.2.23/0023-tracing-change-CPU-ring-buffer-state-from-tracing_cp.patch \ | ||
1517 | file://3.2.23/0024-mwifiex-fix-wrong-return-values-in-add_virtual_intf-.patch \ | ||
1518 | file://3.2.23/0025-udf-Use-ret-instead-of-abusing-i-in-udf_load_logical.patch \ | ||
1519 | file://3.2.23/0026-udf-Avoid-run-away-loop-when-partition-table-length-.patch \ | ||
1520 | file://3.2.23/0027-udf-Fortify-loading-of-sparing-table.patch \ | ||
1521 | file://3.2.23/0028-ARM-fix-rcu-stalls-on-SMP-platforms.patch \ | ||
1522 | file://3.2.23/0029-net-sock-validate-data_len-before-allocating-skb-in-.patch \ | ||
1523 | file://3.2.23/0030-cipso-handle-CIPSO-options-correctly-when-NetLabel-i.patch \ | ||
1524 | file://3.2.23/0031-net-l2tp_eth-fix-kernel-panic-on-rmmod-l2tp_eth.patch \ | ||
1525 | file://3.2.23/0032-l2tp-fix-a-race-in-l2tp_ip_sendmsg.patch \ | ||
1526 | file://3.2.23/0033-sky2-fix-checksum-bit-management-on-some-chips.patch \ | ||
1527 | file://3.2.23/0034-be2net-fix-a-race-in-be_xmit.patch \ | ||
1528 | file://3.2.23/0035-dummy-fix-rcu_sched-self-detected-stalls.patch \ | ||
1529 | file://3.2.23/0036-bonding-Fix-corrupted-queue_mapping.patch \ | ||
1530 | file://3.2.23/0037-ethtool-allow-ETHTOOL_GSSET_INFO-for-users.patch \ | ||
1531 | file://3.2.23/0038-netpoll-fix-netpoll_send_udp-bugs.patch \ | ||
1532 | file://3.2.23/0039-ipv6-Move-ipv6-proc-file-registration-to-end-of-init.patch \ | ||
1533 | file://3.2.23/0040-bridge-Assign-rtnl_link_ops-to-bridge-devices-create.patch \ | ||
1534 | file://3.2.23/0041-Btrfs-run-delayed-directory-updates-during-log-repla.patch \ | ||
1535 | file://3.2.23/0042-cifs-when-server-doesn-t-set-CAP_LARGE_READ_X-cap-de.patch \ | ||
1536 | file://3.2.23/0043-ocfs2-clear-unaligned-io-flag-when-dio-fails.patch \ | ||
1537 | file://3.2.23/0044-aio-make-kiocb-private-NUll-in-init_sync_kiocb.patch \ | ||
1538 | file://3.2.23/0045-mtd-cafe_nand-fix-an-vs-mistake.patch \ | ||
1539 | file://3.2.23/0046-mm-Hold-a-file-reference-in-madvise_remove.patch \ | ||
1540 | file://3.2.23/0047-tcm_fc-Resolve-suspicious-RCU-usage-warnings.patch \ | ||
1541 | file://3.2.23/0048-vfs-make-O_PATH-file-descriptors-usable-for-fchdir.patch \ | ||
1542 | file://3.2.23/0049-Linux-3.2.23.patch \ | ||
1448 | file://led/0001-leds-heartbeat-stop-on-shutdown-reboot-or-panic.patch \ | 1543 | file://led/0001-leds-heartbeat-stop-on-shutdown-reboot-or-panic.patch \ |
1449 | file://libertas/0001-USB-convert-drivers-net-to-use-module_usb_driver.patch \ | 1544 | file://libertas/0001-USB-convert-drivers-net-to-use-module_usb_driver.patch \ |
1450 | file://libertas/0002-net-fix-assignment-of-0-1-to-bool-variables.patch \ | 1545 | file://libertas/0002-net-fix-assignment-of-0-1-to-bool-variables.patch \ |
@@ -1530,18 +1625,19 @@ PATCHES_OVER_PSP = " \ | |||
1530 | file://beaglebone/0063-beaglebone-dvi-cape-audio-hacks.patch \ | 1625 | file://beaglebone/0063-beaglebone-dvi-cape-audio-hacks.patch \ |
1531 | file://beaglebone/0064-beaglebone-always-execute-the-pin-free-checks.patch \ | 1626 | file://beaglebone/0064-beaglebone-always-execute-the-pin-free-checks.patch \ |
1532 | file://beaglebone/0065-ti_tscadc-switch-to-16x-averaging.patch \ | 1627 | file://beaglebone/0065-ti_tscadc-switch-to-16x-averaging.patch \ |
1533 | file://beaglebone/0067-video-da8xx-fb-Add-Newhaven-LCD-Panel-details.patch \ | 1628 | file://beaglebone/0066-video-da8xx-fb-Add-Newhaven-LCD-Panel-details.patch \ |
1534 | file://beaglebone/0068-beaglebone-add-support-for-the-4.3-lcd-cape-with-res.patch \ | 1629 | file://beaglebone/0067-beaglebone-add-support-for-the-4.3-lcd-cape-with-res.patch \ |
1535 | file://beaglebone/0069-beaglebone-add-support-for-LCD3-rev-A1.patch \ | 1630 | file://beaglebone/0068-beaglebone-add-support-for-LCD3-rev-A1.patch \ |
1536 | file://beaglebone/0070-beaglebone-fix-buttons-spidev-clash-when-using-mcasp.patch \ | 1631 | file://beaglebone/0069-beaglebone-fix-buttons-spidev-clash-when-using-mcasp.patch \ |
1537 | file://beaglebone/0071-beaglebone-fix-LCD3-led-key-overlap.patch \ | 1632 | file://beaglebone/0070-beaglebone-fix-LCD3-led-key-overlap.patch \ |
1538 | file://beaglebone/0072-beaglebone-fix-audio-spi-clash.patch \ | 1633 | file://beaglebone/0071-beaglebone-fix-audio-spi-clash.patch \ |
1539 | file://beaglebone/0073-beaglebone-add-support-for-QuickLogic-Camera-interfa.patch \ | 1634 | file://beaglebone/0072-beaglebone-add-support-for-QuickLogic-Camera-interfa.patch \ |
1540 | file://beaglebone/0074-beaglebone-add-support-for-DVI-audio-and-audio-only-.patch \ | 1635 | file://beaglebone/0073-beaglebone-add-support-for-DVI-audio-and-audio-only-.patch \ |
1541 | file://beaglebone/0075-beaglebone-disable-LBO-GPIO-for-battery-cape.patch \ | 1636 | file://beaglebone/0074-beaglebone-disable-LBO-GPIO-for-battery-cape.patch \ |
1542 | file://beaglebone/0075-video-da8xx-fb-calculate-pixel-clock-period-for-the-.patch \ | 1637 | file://beaglebone/0075-video-da8xx-fb-calculate-pixel-clock-period-for-the-.patch \ |
1543 | file://beaglebone/0076-beaglebone-improve-GPMC-bus-timings-for-camera-cape.patch \ | 1638 | file://beaglebone/0076-beaglebone-improve-GPMC-bus-timings-for-camera-cape.patch \ |
1544 | file://beaglebone/0077-beaglebone-disable-UYVY-VYUY-and-YVYU-modes-in-camer.patch \ | 1639 | file://beaglebone/0077-beaglebone-disable-UYVY-VYUY-and-YVYU-modes-in-camer.patch \ |
1545 | file://beaglebone/0078-beaglebone-error-handling-for-DMA-completion-in-cssp.patch \ | 1640 | file://beaglebone/0078-beaglebone-error-handling-for-DMA-completion-in-cssp.patch \ |
1546 | file://beaglebone/0079-AM335X-errata-OPP50-on-MPU-domain-is-not-supported.patch \ | 1641 | file://beaglebone/0079-AM335X-errata-OPP50-on-MPU-domain-is-not-supported.patch \ |
1642 | file://beaglebone/0080-vfs-Add-a-trace-point-in-the-mark_inode_dirty-functi.patch \ | ||
1547 | " | 1643 | " |