mtd: spear_smi: handle return value of timeouts properly
authorVipin Kumar <vipin.kumar@st.com>
Mon, 2 Jul 2012 05:58:47 +0000 (11:28 +0530)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Fri, 6 Jul 2012 17:27:48 +0000 (18:27 +0100)
commit2c99b8bfb22342ab0c06e07ee54fa0d5e638e52a
tree63ae3cdccac97eb94433be9b865b297da3d55fba
parent4dc48c37d1ce968b5ade7d1646927199ee536129
mtd: spear_smi: handle return value of timeouts properly

Handle timouts in general and return value of
'wait_event_interruptible_timeout' in particular, to capture all
conditions.

'wait_event_interruptible_timeout' returns either of the following three
values :-
   * 0               - time out occurred.
   * negative
      * -ERESTARTSYS - return because of a signal
      * other        - for a real error
   * positive        - time remaining

Fix particularly 'ERESTARTSYS' condition which is not properly handled
by the smi driver at a couple of places leading to an erroneous
situation.

Signed-off-by: Antonio BORNEO <antonio.borneo@st.com>
Signed-off-by: Shiraz Hashim <shiraz.hashim@st.com>
Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/mtd/devices/spear_smi.c