File 0001-Use-tftp-1M-blocksize.patch of Package lilo

From 27e4929bbcc2dc8cb71e157cea538e25105d5b64 Mon Sep 17 00:00:00 2001
From: Dinar Valeev <dvaleev@suse.com>
Date: Wed, 30 Oct 2013 12:42:50 +0100
Subject: [PATCH] Use tftp 1M blocksize.

Fixes large initrds download

Signed-off-by: Dinar Valeev <dvaleev@suse.com>
---
 second/fs_of.c             | 5 +++--
 second/parse_device_path.c | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/second/fs_of.c b/second/fs_of.c
index e369150..fec765d 100644
--- a/second/fs_of.c
+++ b/second/fs_of.c
@@ -44,8 +44,8 @@
 #include <errors.h>
 #include <debug.h>
 
-#define LOAD_BUFFER_BASE (24*1024*1024)
-#define LOAD_BUFFER_SIZE (24*1024*1024)
+#define LOAD_BUFFER_BASE (64*1024*1024)
+#define LOAD_BUFFER_SIZE (64*1024*1024)
 #define LOAD_BUFFER_TRIES 42
 
 static int of_open(struct boot_file_t *file, const char *dev_name, struct partition_t *part, const char *file_name)
@@ -134,6 +134,7 @@ static int of_net_download(unsigned char **buffer, ihandle of_device)
 		prom_printf("yaboot downloaded %08x bytes via network, download rate %d KB/s.\n", ret, ms);
 		if (ms > 42 && ms < 666)
 			prom_printf("\n A download rate of %d KB/s is really slow, isn't it? \n\n", ms);
+			prom_release(p, LOAD_BUFFER_SIZE);
 
 	} else
 		prom_release(p, LOAD_BUFFER_SIZE);
diff --git a/second/parse_device_path.c b/second/parse_device_path.c
index 1ec3a48..38317bd 100644
--- a/second/parse_device_path.c
+++ b/second/parse_device_path.c
@@ -464,7 +464,7 @@ static int get_tftp_ipv4_ibm_CAS(struct path_description *path, const char *netd
 
 		ipv4_to_ascii(buf, netmask_ipv4);
 
-		sprintf(p1 + i, "%d,%d,%s,%d", bootp_retry, tftp_retry, buf, tftp_blocksize);
+		sprintf(p1 + i, "%d,%d,%s,%d", bootp_retry, tftp_retry, buf, 1024);
 
 		path_net_after(path) = p1;
 	}
-- 
1.7.12.4
openSUSE Build Service is sponsored by