diff options
author | Wolfram Sang <wsa+renesas@sang-engineering.com> | 2024-12-28 00:25:04 +0100 |
---|---|---|
committer | Wolfram Sang <wsa+renesas@sang-engineering.com> | 2024-12-28 00:25:04 +0100 |
commit | f802f11b2336b0f5c522c6ba827a013bb0b83826 (patch) | |
tree | 4544a62caff258f2ca59ce648193ea0900cef94b /mm/page_alloc.c | |
parent | 78d4f34e2115b517bcbfe7ec0d018bbbb6f9b0b8 (diff) | |
parent | 49e1f0fd0d4cb03a16b8526c4e683e1958f71490 (diff) |
Merge tag 'i2c-host-fixes-6.13-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux into i2c/for-current
i2c-host-fixes for v6.13-rc5
- IMX: fixed stop condition in single master mode and added
compatible string for errata adherence.
- Microchip: Added support for proper repeated sends and fixed
unnecessary NAKs on empty messages, which caused false bus
detection.
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r-- | mm/page_alloc.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 1cb4b8c8886d8..cae7b93864c23 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -1238,13 +1238,15 @@ static void split_large_buddy(struct zone *zone, struct page *page, if (order > pageblock_order) order = pageblock_order; - while (pfn != end) { + do { int mt = get_pfnblock_migratetype(page, pfn); __free_one_page(page, pfn, zone, order, mt, fpi); pfn += 1 << order; + if (pfn == end) + break; page = pfn_to_page(pfn); - } + } while (1); } static void free_one_page(struct zone *zone, struct page *page, |