linux-stable/drivers/infiniband/hw/cxgb4
Michal Hocko f72f116a2a cxgb4: drop __GFP_NOFAIL allocation
set_filter_wr is requesting __GFP_NOFAIL allocation although it can return
ENOMEM without any problems obviously (t4_l2t_set_switching does that
already).  So the non-failing requirement is too strong without any
obvious reason.  Drop __GFP_NOFAIL and reorganize the code to have the
failure paths easier.

The same applies to _c4iw_write_mem_dma_aligned which uses __GFP_NOFAIL
and then checks the return value and returns -ENOMEM on failure.  This
doesn't make any sense what so ever.  Either the allocation cannot fail or
it can.

del_filter_wr seems to be safe as well because the filter entry is not
marked as pending and the return value is propagated up the stack up to
c4iw_destroy_listen.

Signed-off-by: Michal Hocko <mhocko@suse.cz>
Cc: David Rientjes <rientjes@google.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Dave Chinner <david@fromorbit.com>
Cc: "Theodore Ts'o" <tytso@mit.edu>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Hariprasad S <hariprasad@chelsio.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-04-16 12:03:01 -04:00
..
cm.c iw_cxgb4: Cleanup register defines/MACROS defined in t4fw_ri_api.h 2015-01-16 01:07:02 -05:00
cq.c iw_cxgb4: Cleanup register defines/MACROS defined in t4fw_ri_api.h 2015-01-16 01:07:02 -05:00
device.c Merge branch 'debugfs_automount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-02-17 15:18:19 -08:00
ev.c InfiniBand/RDMA changes for 3.20 merge window: 2015-02-21 12:53:21 -08:00
id_table.c drivers/infiniband/hw: rename random32() to prandom_u32() 2013-05-07 18:38:27 -07:00
iw_cxgb4.h RDMA/cxgb4: Don't hang threads forever waiting on WR replies 2015-02-18 08:33:15 -08:00
Kconfig RDMA/cxgb4: Update Kconfig to include Chelsio T5 adapter 2014-04-28 17:29:41 -07:00
Makefile RDMA/cxgb4: Remove kfifo usage 2012-05-18 13:22:36 -07:00
mem.c cxgb4: drop __GFP_NOFAIL allocation 2015-04-16 12:03:01 -04:00
provider.c RDMA/cxgb4/cxgb4vf/csiostor: Cleanup macros/register defines related to PCIE, RSS and FW 2014-11-22 16:57:47 -05:00
qp.c iw_cxgb4: Cleanup register defines/MACROS defined in t4fw_ri_api.h 2015-01-16 01:07:02 -05:00
resource.c RDMA/cxgb4: Add missing debug stats 2014-04-11 11:36:09 -07:00
t4.h iw_cxgb4: Cleanup register defines/MACROS defined in t4.h 2015-01-16 01:07:01 -05:00
t4fw_ri_api.h iw_cxgb4: Cleanup register defines/MACROS defined in t4fw_ri_api.h 2015-01-16 01:07:02 -05:00
user.h RDMA/cxgb4: add missing padding at end of struct c4iw_alloc_ucontext_resp 2014-06-05 09:13:54 -07:00