summaryrefslogtreecommitdiff
path: root/net/unix/af_unix.c
diff options
context:
space:
mode:
authorSayali Lokhande <sayalil@codeaurora.org>2017-07-06 12:03:10 +0530
committerSayali Lokhande <sayalil@codeaurora.org>2017-07-06 16:14:44 +0530
commit01d3b1fce14c8768892d45308679ad73f288773d (patch)
tree3ad8a0421cca965603be8f94edab9cd103af2fe8 /net/unix/af_unix.c
parent0f6cf457b2bdcd335b710a5c5f27f234da076696 (diff)
scsi: ufs: Serialise ufs clock gating and ungating
On ufs based targets we observed several unclocked register access issues due to race conditions between clock gating and ungating. Sequence of events causing race looks like: [1]ungate_work_scheduled = (tv64 = 27288.795244106),REQ_CLKS_ON [2]gating_work_execute_end = (tv64 = 27288.795948169),REQ_CLKS_ON [3]last intr status = (tv64 = 27288.801560512) [4]ungate_work_execute_start=(tv64 = 27288.801725304),REQ_CLKS_ON [5]clk_rel ctx=XFR_REQ_COMPL)(tv64 = 27288.801950460),REQ_CLKS_OFF [6]gating_work_scheduled = (tv64 = 27288.812817231),REQ_CLKS_OFF [7]gating_work_execute_start=(tv64 = 27288.813704106),REQ_CLKS_OFF [8]clk_hold ctx = QUEUE_CMD) (tv64 = 27288.821010200) [9](WRITE)issue_time_stamp = (tv64 = 27288.821059366),gating in progress! [10]ungate_work_execute_end =(tv64 = 27288.821251866),CLKS_ON [11]Gladiator Error Detected = 27288.830788 Here clock gating work[6] is scheduled while ungating[4] is in progress thus causing unclocked register access when request is issued[9]. This change is to avoid such race condition by using single threaded workqueue for both gate and ungate work. Change-Id: I710ff0dbe59df0c1eb903b18555b6184cb298fa3 Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
Diffstat (limited to 'net/unix/af_unix.c')
0 files changed, 0 insertions, 0 deletions