aboutsummaryrefslogtreecommitdiff
path: root/board-qemu/slof/e1k.fs
diff options
context:
space:
mode:
authorAvik Sil <aviksil@linux.vnet.ibm.com>2013-10-04 11:32:22 +0530
committerNikunj A Dadhania <nikunj@linux.vnet.ibm.com>2013-10-04 12:01:21 +0530
commitb30e4a4f8aaaa6b9dd12bbab3ec908e0d3cc3851 (patch)
tree5ce889ad311195b5810b00cc9dcc07cc29e325aa /board-qemu/slof/e1k.fs
parentab29e16279f52602870c56b00149524a2114bb1f (diff)
downloadSLOF-b30e4a4f8aaaa6b9dd12bbab3ec908e0d3cc3851.zip
SLOF-b30e4a4f8aaaa6b9dd12bbab3ec908e0d3cc3851.tar.gz
SLOF-b30e4a4f8aaaa6b9dd12bbab3ec908e0d3cc3851.tar.bz2
Allow more than one client to open net devices simultaneously
When multiple clients are active simultaneously, they might open network devices that is already opened by other clients. This results in failure to transfer packets since obp-tftp package is not instantiated on each open. This patch resolves it by instantiating obp-tftp on each open. Signed-off-by: Avik Sil <aviksil@linux.vnet.ibm.com> Signed-off-by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
Diffstat (limited to 'board-qemu/slof/e1k.fs')
-rw-r--r--board-qemu/slof/e1k.fs6
1 files changed, 3 insertions, 3 deletions
diff --git a/board-qemu/slof/e1k.fs b/board-qemu/slof/e1k.fs
index 7b8e8e6..1f2b192 100644
--- a/board-qemu/slof/e1k.fs
+++ b/board-qemu/slof/e1k.fs
@@ -22,7 +22,6 @@ INSTANCE VARIABLE obp-tftp-package
: open ( -- okay? )
open-count 0= IF
open IF
- my-args s" obp-tftp" $open-package obp-tftp-package !
e1k-open dup not IF ." e1k-open failed" EXIT THEN
drop TO e1k-priv
true
@@ -32,19 +31,20 @@ INSTANCE VARIABLE obp-tftp-package
ELSE
true
THEN
+ my-args s" obp-tftp" $open-package obp-tftp-package !
open-count 1 + to open-count
;
: close ( -- )
- open-count 0> IF
+ open-count 0> IF
open-count 1 - dup to open-count
0= IF
- s" close" obp-tftp-package @ $call-method
e1k-priv e1k-close
close
THEN
THEN
+ s" close" obp-tftp-package @ $call-method
;
: read ( buf len -- actual )