The gnttab_sem is already fed during initialization's put_free_entry
loop.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
#ifdef GNT_DEBUG
static char inuse[NR_GRANT_ENTRIES];
#endif
-static __DECLARE_SEMAPHORE_GENERIC(gnttab_sem, NR_GRANT_ENTRIES);
+static __DECLARE_SEMAPHORE_GENERIC(gnttab_sem, 0);
static void
put_free_entry(grant_ref_t ref)
down(&gnttab_sem);
local_irq_save(flags);
ref = gnttab_list[0];
+ BUG_ON(ref < NR_RESERVED_ENTRIES || ref >= NR_GRANT_ENTRIES);
gnttab_list[0] = gnttab_list[ref];
#ifdef GNT_DEBUG
BUG_ON(inuse[ref]);