2008-12-12 Alex Smith <alex@alex-smith.me.uk>
* fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection at a time limit of the PXE TFTP API correctly. (grub_pxefs_close): Likewise.
This commit is contained in:
parent
7fd0ee30f8
commit
3ced05cf17
2 changed files with 20 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2008-12-12 Alex Smith <alex@alex-smith.me.uk>
|
||||||
|
|
||||||
|
* fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
|
||||||
|
at a time limit of the PXE TFTP API correctly.
|
||||||
|
(grub_pxefs_close): Likewise.
|
||||||
|
|
||||||
2008-11-29 Robert Millan <rmh@aybabtu.com>
|
2008-11-29 Robert Millan <rmh@aybabtu.com>
|
||||||
|
|
||||||
* disk/ata.c (grub_ata_pciinit): Handle errors rised by
|
* disk/ata.c (grub_ata_pciinit): Handle errors rised by
|
||||||
|
|
|
@ -125,6 +125,12 @@ grub_pxefs_open (struct grub_file *file, const char *name)
|
||||||
struct grub_pxe_data *data;
|
struct grub_pxe_data *data;
|
||||||
grub_file_t file_int, bufio;
|
grub_file_t file_int, bufio;
|
||||||
|
|
||||||
|
if (curr_file != 0)
|
||||||
|
{
|
||||||
|
grub_pxe_call (GRUB_PXENV_TFTP_CLOSE, &c.c2);
|
||||||
|
curr_file = 0;
|
||||||
|
}
|
||||||
|
|
||||||
c.c1.server_ip = grub_pxe_server_ip;
|
c.c1.server_ip = grub_pxe_server_ip;
|
||||||
c.c1.gateway_ip = grub_pxe_gateway_ip;
|
c.c1.gateway_ip = grub_pxe_gateway_ip;
|
||||||
grub_strcpy (c.c1.filename, name);
|
grub_strcpy (c.c1.filename, name);
|
||||||
|
@ -190,6 +196,7 @@ grub_pxefs_read (grub_file_t file, char *buf, grub_size_t len)
|
||||||
{
|
{
|
||||||
struct grub_pxenv_tftp_open o;
|
struct grub_pxenv_tftp_open o;
|
||||||
|
|
||||||
|
if (curr_file != 0)
|
||||||
grub_pxe_call (GRUB_PXENV_TFTP_CLOSE, &o);
|
grub_pxe_call (GRUB_PXENV_TFTP_CLOSE, &o);
|
||||||
|
|
||||||
o.server_ip = grub_pxe_server_ip;
|
o.server_ip = grub_pxe_server_ip;
|
||||||
|
@ -227,7 +234,12 @@ grub_pxefs_close (grub_file_t file)
|
||||||
{
|
{
|
||||||
struct grub_pxenv_tftp_close c;
|
struct grub_pxenv_tftp_close c;
|
||||||
|
|
||||||
|
if (curr_file == file)
|
||||||
|
{
|
||||||
grub_pxe_call (GRUB_PXENV_TFTP_CLOSE, &c);
|
grub_pxe_call (GRUB_PXENV_TFTP_CLOSE, &c);
|
||||||
|
curr_file = 0;
|
||||||
|
}
|
||||||
|
|
||||||
grub_free (file->data);
|
grub_free (file->data);
|
||||||
|
|
||||||
return GRUB_ERR_NONE;
|
return GRUB_ERR_NONE;
|
||||||
|
|
Loading…
Add table
Reference in a new issue