diff --git a/drivers/staging/ramster/zcache-main.c b/drivers/staging/ramster/zcache-main.c index 24b3d4a5e1767ac4c588f7c2ec86936a8a5af4d2..86e19d6d3b896c6c359fbac71433f5c8ec27d44d 100644 --- a/drivers/staging/ramster/zcache-main.c +++ b/drivers/staging/ramster/zcache-main.c @@ -1338,10 +1338,10 @@ static int zcache_local_new_pool(uint32_t flags) return zcache_new_pool(LOCAL_CLIENT, flags); } -int zcache_autocreate_pool(int cli_id, int pool_id, bool eph) +int zcache_autocreate_pool(unsigned int cli_id, unsigned int pool_id, bool eph) { struct tmem_pool *pool; - struct zcache_client *cli = NULL; + struct zcache_client *cli; uint32_t flags = eph ? 0 : TMEM_POOL_PERSIST; int ret = -1; @@ -1350,8 +1350,10 @@ int zcache_autocreate_pool(int cli_id, int pool_id, bool eph) goto out; if (pool_id >= MAX_POOLS_PER_CLIENT) goto out; - else if ((unsigned int)cli_id < MAX_CLIENTS) - cli = &zcache_clients[cli_id]; + if (cli_id >= MAX_CLIENTS) + goto out; + + cli = &zcache_clients[cli_id]; if ((eph && disable_cleancache) || (!eph && disable_frontswap)) { pr_err("zcache_autocreate_pool: pool type disabled\n"); goto out; diff --git a/drivers/staging/ramster/zcache.h b/drivers/staging/ramster/zcache.h index c59666e6d717af59bf1011741a28d0600b884813..81722b33b0872ac8a165f983af2cc1dd6494d8e8 100644 --- a/drivers/staging/ramster/zcache.h +++ b/drivers/staging/ramster/zcache.h @@ -42,7 +42,7 @@ extern void zcache_decompress_to_page(char *, unsigned int, struct page *); #ifdef CONFIG_RAMSTER extern void *zcache_pampd_create(char *, unsigned int, bool, int, struct tmem_handle *); -extern int zcache_autocreate_pool(int, int, bool); +int zcache_autocreate_pool(unsigned int cli_id, unsigned int pool_id, bool eph); #endif #define MAX_POOLS_PER_CLIENT 16