* Re: [063/107] [media] ite-cir: 8709 needs to use pnp resource 2 [not found] <CAB+yVgDkRSQc9WOYbQGbHdmV4u3JNJCboYOei8tbAFfb3jsVQg@mail.gmail.com> @ 2011-07-08 14:44 ` Greg KH 0 siblings, 0 replies; 2+ messages in thread From: Greg KH @ 2011-07-08 14:44 UTC (permalink / raw) To: Juan Jesús García de Soria Lucena Cc: stable-review, Mauro Carvalho Chehab, stable, linux-kernel, alan, torvalds, Jarod Wilson, akpm On Fri, Jul 08, 2011 at 07:59:03AM +0200, Juan Jesús García de Soria Lucena wrote: > Acked-by: Juan Jesús García de Soria <skandalfo@gmail.com> Now added, thanks. ^ permalink raw reply [flat|nested] 2+ messages in thread
* [000/107] 2.6.39.3 review @ 2011-07-08 0:17 Greg KH 2011-07-08 0:16 ` [063/107] [media] ite-cir: 8709 needs to use pnp resource 2 Greg KH 0 siblings, 1 reply; 2+ messages in thread From: Greg KH @ 2011-07-08 0:17 UTC (permalink / raw) To: linux-kernel, stable; +Cc: stable-review, torvalds, akpm, alan This is the start of the stable review cycle for the 2.6.39.3 release. There are 107 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let us know. If anyone is a maintainer of the proper subsystem, and wants to add a Signed-off-by: line to the patch, please respond with it. Responses should be made by Sat, Jul 9, 2011, 00:00:00 UTC. Anything received after that time might be too late. The whole patch series can be found in one patch at: kernel.org/pub/linux/kernel/v2.6/stable-review/patch-2.6.39.3-rc1.gz and the diffstat can be found below. thanks, greg k-h Documentation/filesystems/caching/netfs-api.txt | 16 ++++++ Makefile | 2 +- arch/arm/mach-exynos4/init.c | 1 + arch/arm/plat-samsung/include/plat/regs-serial.h | 2 + arch/x86/include/asm/pvclock.h | 9 +++- arch/x86/kernel/acpi/realmode/wakeup.S | 14 +++++ arch/x86/kernel/acpi/realmode/wakeup.h | 6 ++ arch/x86/kernel/acpi/sleep.c | 6 ++ arch/x86/oprofile/nmi_int.c | 14 ++++-- arch/x86/pci/xen.c | 40 +++++++++++--- arch/x86/xen/mmu.c | 14 +++++- arch/x86/xen/smp.c | 7 +++ block/cfq-iosched.c | 11 +++- drivers/base/platform.c | 2 +- drivers/base/power/main.c | 28 ++++++++--- drivers/connector/connector.c | 1 + drivers/gpu/drm/drm_pci.c | 3 +- drivers/gpu/drm/i915/i915_irq.c | 10 ++++ drivers/gpu/drm/i915/intel_i2c.c | 3 +- drivers/gpu/drm/radeon/radeon_encoders.c | 6 ++- drivers/gpu/drm/radeon/rv770.c | 6 ++ drivers/hwmon/ibmaem.c | 2 + drivers/hwmon/ibmpex.c | 1 + drivers/hwmon/s3c-hwmon.c | 2 + drivers/i2c/busses/i2c-taos-evm.c | 8 ++-- drivers/i2c/muxes/pca954x.c | 7 ++- drivers/input/input.c | 2 +- drivers/input/mousedev.c | 4 +- drivers/md/md.c | 1 + drivers/media/rc/ir-raw.c | 4 +- drivers/media/rc/ite-cir.c | 12 +++- drivers/media/rc/ite-cir.h | 3 + drivers/media/rc/keymaps/rc-pinnacle-pctv-hd.c | 58 ++++++++++----------- drivers/media/video/uvc/uvc_queue.c | 2 + drivers/misc/lkdtm.c | 8 +++ drivers/mmc/host/tmio_mmc_pio.c | 4 +- drivers/net/hamradio/6pack.c | 4 +- drivers/net/hamradio/mkiss.c | 4 +- drivers/net/pxa168_eth.c | 2 +- drivers/net/wireless/ath/ath5k/base.c | 11 ++++- drivers/net/wireless/ath/ath5k/eeprom.c | 8 +-- drivers/net/wireless/ath/ath5k/reset.c | 5 ++- drivers/net/wireless/ath/ath9k/pci.c | 6 ++ drivers/net/wireless/iwlwifi/iwl-core.c | 3 +- drivers/pci/pci-driver.c | 4 +- drivers/pci/quirks.c | 2 + drivers/staging/lirc/lirc_zilog.c | 4 +- drivers/tty/serial/pch_uart.c | 4 +- drivers/tty/serial/s5pv210.c | 4 +- drivers/tty/tty_ldisc.c | 4 +- drivers/usb/core/driver.c | 17 +++++-- drivers/usb/core/hub.c | 16 ++++-- drivers/usb/core/message.c | 17 ++++++- drivers/usb/host/xhci-pci.c | 8 +++ drivers/usb/host/xhci-ring.c | 11 ++-- drivers/usb/host/xhci.c | 24 +++++++-- drivers/usb/host/xhci.h | 1 + drivers/usb/serial/ftdi_sio.c | 19 +++++-- drivers/usb/serial/ftdi_sio.h | 3 +- drivers/usb/serial/ftdi_sio_ids.h | 1 + drivers/watchdog/mtx-1_wdt.c | 8 +++ fs/block_dev.c | 14 +++++- fs/cifs/fscache.c | 1 + fs/fscache/page.c | 44 ++++++++++++++++ fs/hfsplus/wrapper.c | 7 ++- fs/lockd/clntproc.c | 8 +++- fs/locks.c | 30 +++++++---- fs/nfs/fscache.c | 8 +-- fs/nfs/inode.c | 6 ++- fs/nfs/internal.h | 11 ++++ fs/nfs/nfs4filelayout.c | 15 ++++-- fs/nfs/nfs4proc.c | 33 ++++++++---- fs/nfs/nfs4xdr.c | 14 +++--- fs/nfsd/Kconfig | 1 + fs/nfsd/nfsctl.c | 19 ++----- fs/nfsd/vfs.c | 19 ++++--- include/asm-generic/bug.h | 3 - include/linux/blk_types.h | 2 +- include/linux/clocksource.h | 1 + include/linux/connector.h | 2 +- include/linux/device.h | 4 +- include/linux/fscache.h | 21 ++++++++ include/linux/if_packet.h | 2 + include/linux/netfilter/ipset/ip_set_ahash.h | 4 +- include/linux/netfilter/ipset/ip_set_timeout.h | 18 ++++--- include/linux/pci_ids.h | 1 + include/linux/pm.h | 3 +- include/linux/ratelimit.h | 40 ++++++++++++++ include/linux/sunrpc/sched.h | 3 +- include/net/ip_vs.h | 3 +- init/calibrate.c | 14 +++-- kernel/power/snapshot.c | 6 ++- kernel/power/user.c | 4 +- kernel/taskstats.c | 15 ++++- kernel/time/clocksource.c | 24 +++++---- lib/debugobjects.c | 2 +- mm/hugetlb.c | 8 +++ mm/ksm.c | 6 ++ mm/memory-failure.c | 4 +- mm/memory_hotplug.c | 2 +- mm/migrate.c | 2 +- net/8021q/vlan_dev.c | 2 +- net/bridge/br_netfilter.c | 6 ++ net/core/ethtool.c | 25 +++++++++- net/core/filter.c | 5 ++- net/ipv4/af_inet.c | 3 + net/ipv4/inet_diag.c | 14 ++--- net/ipv4/inetpeer.c | 42 ++++++++++----- net/ipv4/netfilter.c | 60 ++++++++-------------- net/ipv4/netfilter/ipt_REJECT.c | 14 ++---- net/ipv4/route.c | 4 +- net/ipv4/udp.c | 3 + net/ipv6/udp.c | 5 ++- net/netfilter/ipset/ip_set_core.c | 2 +- net/netfilter/ipvs/ip_vs_conn.c | 10 +++- net/netfilter/ipvs/ip_vs_core.c | 1 + net/netfilter/ipvs/ip_vs_ftp.c | 27 +++++++--- net/packet/af_packet.c | 2 + net/sunrpc/auth_gss/auth_gss.c | 4 +- net/sunrpc/auth_gss/gss_krb5_mech.c | 3 +- net/sunrpc/clnt.c | 5 ++- net/sunrpc/sched.c | 1 + net/xfrm/xfrm_replay.c | 4 +- security/keys/request_key.c | 3 +- sound/pci/hda/patch_conexant.c | 3 + sound/pci/hda/patch_realtek.c | 1 - sound/soc/pxa/pxa2xx-pcm.c | 4 +- virt/kvm/assigned-dev.c | 5 +-- 128 files changed, 857 insertions(+), 334 deletions(-) ^ permalink raw reply [flat|nested] 2+ messages in thread
* [063/107] [media] ite-cir: 8709 needs to use pnp resource 2 2011-07-08 0:17 [000/107] 2.6.39.3 review Greg KH @ 2011-07-08 0:16 ` Greg KH 0 siblings, 0 replies; 2+ messages in thread From: Greg KH @ 2011-07-08 0:16 UTC (permalink / raw) To: linux-kernel, stable Cc: stable-review, torvalds, akpm, alan, Juan Jesús GarcÃa de Soria, Jarod Wilson, Mauro Carvalho Chehab [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain, Size: 4053 bytes --] 2.6.39-stable review patch. If anyone has any objections, please let us know. ------------------ From: Jarod Wilson <jarod@redhat.com> commit 35d136c8dab034ee14aa00d6082229b4b74607da upstream. Thanks to the intrepid testing and debugging of Matthijs van Drunen, it was uncovered that at least some variants of the ITE8709 need to use pnp resource 2, rather than 0, for things to function properly. Resource 0 has a length of only 1, and if you try to bypass the pnp_port_len check and use it anyway (with either a length of 1 or 2), the system in question's trackpad ceased to function. The circa lirc 0.8.7 lirc_ite8709 driver used resource 2, but the value was (amusingly) changed to 0 by way of a patch from ITE themselves, so I don't know if there may be variants where 0 actually *is* correct, but at least in this case and in the original lirc_ite8709 driver author's case, it sure looks like 2 is the right value. This fix should probably be applied to all stable kernels with the ite-cir driver, lest we nuke more people's trackpads. Tested-by: Matthijs van Drunen CC: Juan Jesús García de Soria <skandalfo@gmail.com> Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- drivers/media/rc/ite-cir.c | 12 +++++++++--- drivers/media/rc/ite-cir.h | 3 +++ 2 files changed, 12 insertions(+), 3 deletions(-) --- a/drivers/media/rc/ite-cir.c +++ b/drivers/media/rc/ite-cir.c @@ -1357,6 +1357,7 @@ static const struct ite_dev_params ite_d { /* 0: ITE8704 */ .model = "ITE8704 CIR transceiver", .io_region_size = IT87_IOREG_LENGTH, + .io_rsrc_no = 0, .hw_tx_capable = true, .sample_period = (u32) (1000000000ULL / 115200), .tx_carrier_freq = 38000, @@ -1381,6 +1382,7 @@ static const struct ite_dev_params ite_d { /* 1: ITE8713 */ .model = "ITE8713 CIR transceiver", .io_region_size = IT87_IOREG_LENGTH, + .io_rsrc_no = 0, .hw_tx_capable = true, .sample_period = (u32) (1000000000ULL / 115200), .tx_carrier_freq = 38000, @@ -1405,6 +1407,7 @@ static const struct ite_dev_params ite_d { /* 2: ITE8708 */ .model = "ITE8708 CIR transceiver", .io_region_size = IT8708_IOREG_LENGTH, + .io_rsrc_no = 0, .hw_tx_capable = true, .sample_period = (u32) (1000000000ULL / 115200), .tx_carrier_freq = 38000, @@ -1430,6 +1433,7 @@ static const struct ite_dev_params ite_d { /* 3: ITE8709 */ .model = "ITE8709 CIR transceiver", .io_region_size = IT8709_IOREG_LENGTH, + .io_rsrc_no = 2, .hw_tx_capable = true, .sample_period = (u32) (1000000000ULL / 115200), .tx_carrier_freq = 38000, @@ -1471,6 +1475,7 @@ static int ite_probe(struct pnp_dev *pde struct rc_dev *rdev = NULL; int ret = -ENOMEM; int model_no; + int io_rsrc_no; ite_dbg("%s called", __func__); @@ -1500,10 +1505,11 @@ static int ite_probe(struct pnp_dev *pde /* get the description for the device */ dev_desc = &ite_dev_descs[model_no]; + io_rsrc_no = dev_desc->io_rsrc_no; /* validate pnp resources */ - if (!pnp_port_valid(pdev, 0) || - pnp_port_len(pdev, 0) != dev_desc->io_region_size) { + if (!pnp_port_valid(pdev, io_rsrc_no) || + pnp_port_len(pdev, io_rsrc_no) != dev_desc->io_region_size) { dev_err(&pdev->dev, "IR PNP Port not valid!\n"); goto failure; } @@ -1514,7 +1520,7 @@ static int ite_probe(struct pnp_dev *pde } /* store resource values */ - itdev->cir_addr = pnp_port_start(pdev, 0); + itdev->cir_addr = pnp_port_start(pdev, io_rsrc_no); itdev->cir_irq = pnp_irq(pdev, 0); /* initialize spinlocks */ --- a/drivers/media/rc/ite-cir.h +++ b/drivers/media/rc/ite-cir.h @@ -57,6 +57,9 @@ struct ite_dev_params { /* size of the I/O region */ int io_region_size; + /* IR pnp I/O resource number */ + int io_rsrc_no; + /* true if the hardware supports transmission */ bool hw_tx_capable; ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-07-08 14:50 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <CAB+yVgDkRSQc9WOYbQGbHdmV4u3JNJCboYOei8tbAFfb3jsVQg@mail.gmail.com>
2011-07-08 14:44 ` [063/107] [media] ite-cir: 8709 needs to use pnp resource 2 Greg KH
2011-07-08 0:17 [000/107] 2.6.39.3 review Greg KH
2011-07-08 0:16 ` [063/107] [media] ite-cir: 8709 needs to use pnp resource 2 Greg KH
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox