Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Misc fixes and enhancements #14

Open
wants to merge 10 commits into
base: 8660-tp-merge
Choose a base branch
from
Open

Misc fixes and enhancements #14

wants to merge 10 commits into from

Conversation

kerneltoast
Copy link

No description provided.

kerneltoast and others added 10 commits May 14, 2014 17:30
*Removed writeback code (MSM8660 doesn't support writeback)
*Removed ION camera heap (the ION camera heap is a legacy heap only used on MSM8660. The camera HAL I'm using from Flemmard is from an MSM8960 device, so it doesn't use the ION camera heap. Instead, it uses MM and IOMMU, but because we have no IOMMU, the HAL falls back to MM and uses MM for both camera preview and SMI)
*Userspace now has 603MB of RAM (a 48MB increase)

Signed-off-by: Sultanxda <sultanxda@gmail.com>
Might as well take advantage of that unused space.

Signed-off-by: Sultanxda <sultanxda@gmail.com>
Reduce time : 1secs -> 500ms
Problem : [Issue 11512235] 34% battery eaten overnight
  [Issue 11374623] OS + Wifi used 41% of battery,
  wlan_rx_wake
Signed-off-by: Ecco Park <eccopark@broadcom.com>
Thanks to ivanich for the help researching this.
In the original 3.0.16 panel driver, HTC specified a set of MDP clocks to use for scaling: 59MHz, 128MHz, 160MHz, and 200MHz.

This fixes the visual glitch where the very leftmost column of pixels copying what the very rightmost column of pixels displays.

Signed-off-by: Sultanxda <sultanxda@gmail.com>
This fixes the yellow screen glitches in camera.

Signed-off-by: Sultanxda <sultanxda@gmail.com>
shantur pushed a commit to UnORoms/akh8960_cm that referenced this pull request Apr 9, 2015
…s struct file

commit e4daf1f upstream.

The following call chain:
------------------------------------------------------------
nfs4_get_vfs_file
- nfsd_open
  - dentry_open
    - do_dentry_open
      - __get_file_write_access
        - get_write_access
          - return atomic_inc_unless_negative(&inode->i_writecount) ? 0 : -ETXTBSY;
------------------------------------------------------------

can result in the following state:
------------------------------------------------------------
struct nfs4_file {
...
  fi_fds = {0xffff880c1fa65c80, 0xffffffffffffffe6, 0x0},
  fi_access = {{
      counter = 0x1
    }, {
      counter = 0x0
    }},
...
------------------------------------------------------------

1) First time around, in nfs4_get_vfs_file() fp->fi_fds[O_WRONLY] is
NULL, hence nfsd_open() is called where we get status set to an error
and fp->fi_fds[O_WRONLY] to -ETXTBSY. Thus we do not reach
nfs4_file_get_access() and fi_access[O_WRONLY] is not incremented.

2) Second time around, in nfs4_get_vfs_file() fp->fi_fds[O_WRONLY] is
NOT NULL (-ETXTBSY), so nfsd_open() is NOT called, but
nfs4_file_get_access() IS called and fi_access[O_WRONLY] is incremented.
Thus we leave a landmine in the form of the nfs4_file data structure in
an incorrect state.

3) Eventually, when __nfs4_file_put_access() is called it finds
fi_access[O_WRONLY] being non-zero, it decrements it and calls
nfs4_file_put_fd() which tries to fput -ETXTBSY.
------------------------------------------------------------
...
     [exception RIP: fput+0x9]
     RIP: ffffffff81177fa9  RSP: ffff88062e365c90  RFLAGS: 00010282
     RAX: ffff880c2b3d99cc  RBX: ffff880c2b3d9978  RCX: 0000000000000002
     RDX: dead000000100101  RSI: 0000000000000001  RDI: ffffffffffffffe6
     RBP: ffff88062e365c90   R8: ffff88041fe797d8   R9: ffff88062e365d58
     R10: 0000000000000008  R11: 0000000000000000  R12: 0000000000000001
     R13: 0000000000000007  R14: 0000000000000000  R15: 0000000000000000
     ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018
  Flemmard#9 [ffff88062e365c98] __nfs4_file_put_access at ffffffffa0562334 [nfsd]
 Flemmard#10 [ffff88062e365cc8] nfs4_file_put_access at ffffffffa05623ab [nfsd]
 Flemmard#11 [ffff88062e365ce8] free_generic_stateid at ffffffffa056634d [nfsd]
 Flemmard#12 [ffff88062e365d18] release_open_stateid at ffffffffa0566e4b [nfsd]
 Flemmard#13 [ffff88062e365d38] nfsd4_close at ffffffffa0567401 [nfsd]
 Flemmard#14 [ffff88062e365d88] nfsd4_proc_compound at ffffffffa0557f28 [nfsd]
 Flemmard#15 [ffff88062e365dd8] nfsd_dispatch at ffffffffa054543e [nfsd]
 Flemmard#16 [ffff88062e365e18] svc_process_common at ffffffffa04ba5a4 [sunrpc]
 Flemmard#17 [ffff88062e365e98] svc_process at ffffffffa04babe0 [sunrpc]
 Flemmard#18 [ffff88062e365eb8] nfsd at ffffffffa0545b62 [nfsd]
 #19 [ffff88062e365ee8] kthread at ffffffff81090886
 #20 [ffff88062e365f48] kernel_thread at ffffffff8100c14a
------------------------------------------------------------


Signed-off-by: Harshula Jayasuriya <harshula@redhat.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
[xr: Backported to 3.4: adjust context]
Signed-off-by: Rui Xiang <rui.xiang@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants